mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Escape all strings put into the Qt help XML files.
This commit is contained in:
parent
c3c6bba214
commit
50058db273
@ -11,10 +11,10 @@
|
||||
|
||||
import os
|
||||
import re
|
||||
import cgi
|
||||
import codecs
|
||||
import posixpath
|
||||
from os import path
|
||||
from cgi import escape
|
||||
|
||||
from docutils import nodes
|
||||
|
||||
@ -34,7 +34,7 @@ collection_template = u'''\
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<QHelpCollectionProject version="1.0">
|
||||
<assistant>
|
||||
<title>%(project)s %(version)s</title>
|
||||
<title>%(title)s</title>
|
||||
<homePage>%(homepage)s</homePage>
|
||||
<startPage>%(startpage)s</startPage>
|
||||
</assistant>
|
||||
@ -154,8 +154,8 @@ class QtHelpBuilder(StandaloneHTMLBuilder):
|
||||
if (resourcedir and not fn.endswith('.js')) or \
|
||||
fn.endswith('.html'):
|
||||
filename = path.join(root, fn)[olen:]
|
||||
#filename = filename.replace(os.sep, '\\') # XXX
|
||||
projectfiles.append(file_template % {'filename': filename})
|
||||
projectfiles.append(file_template %
|
||||
{'filename': escape(filename)})
|
||||
projectfiles = '\n'.join(projectfiles)
|
||||
|
||||
# it seems that the "namespace" may not contain non-alphanumeric
|
||||
@ -168,15 +168,16 @@ class QtHelpBuilder(StandaloneHTMLBuilder):
|
||||
# write the project file
|
||||
f = codecs.open(path.join(outdir, outname+'.qhp'), 'w', 'utf-8')
|
||||
try:
|
||||
f.write(project_template % {'outname': outname,
|
||||
'title': self.config.html_title,
|
||||
'version': self.config.version,
|
||||
'project': self.config.project,
|
||||
'namespace': nspace,
|
||||
'masterdoc': self.config.master_doc,
|
||||
'sections': sections,
|
||||
'keywords': keywords,
|
||||
'files': projectfiles})
|
||||
f.write(project_template % {
|
||||
'outname': escape(outname),
|
||||
'title': escape(self.config.html_title),
|
||||
'version': escape(self.config.version),
|
||||
'project': escape(self.config.project),
|
||||
'namespace': escape(nspace),
|
||||
'masterdoc': escape(self.config.master_doc),
|
||||
'sections': sections,
|
||||
'keywords': keywords,
|
||||
'files': projectfiles})
|
||||
finally:
|
||||
f.close()
|
||||
|
||||
@ -187,11 +188,11 @@ class QtHelpBuilder(StandaloneHTMLBuilder):
|
||||
self.info('writing collection project file...')
|
||||
f = codecs.open(path.join(outdir, outname+'.qhcp'), 'w', 'utf-8')
|
||||
try:
|
||||
f.write(collection_template % {'outname': outname,
|
||||
'project': self.config.project,
|
||||
'version': self.config.version,
|
||||
'homepage': homepage,
|
||||
'startpage': startpage})
|
||||
f.write(collection_template % {
|
||||
'outname': escape(outname),
|
||||
'title': escape(self.config.html_short_title),
|
||||
'homepage': escape(homepage),
|
||||
'startpage': escape(startpage)})
|
||||
finally:
|
||||
f.close()
|
||||
|
||||
@ -213,7 +214,7 @@ class QtHelpBuilder(StandaloneHTMLBuilder):
|
||||
if self.isdocnode(node):
|
||||
refnode = node.children[0][0]
|
||||
link = refnode['refuri']
|
||||
title = cgi.escape(refnode.astext()).replace('"','"')
|
||||
title = escape(refnode.astext()).replace('"','"')
|
||||
item = '<section title="%(title)s" ref="%(ref)s">' % {
|
||||
'title': title,
|
||||
'ref': link}
|
||||
@ -226,7 +227,7 @@ class QtHelpBuilder(StandaloneHTMLBuilder):
|
||||
parts.extend(self.write_toc(subnode, indentlevel))
|
||||
elif isinstance(node, nodes.reference):
|
||||
link = node['refuri']
|
||||
title = cgi.escape(node.astext()).replace('"','"')
|
||||
title = escape(node.astext()).replace('"','"')
|
||||
item = section_template % {'title': title, 'ref': link}
|
||||
item = ' '*4*indentlevel + item.encode('ascii', 'xmlcharrefreplace')
|
||||
parts.append(item.encode('ascii', 'xmlcharrefreplace'))
|
||||
@ -263,7 +264,7 @@ class QtHelpBuilder(StandaloneHTMLBuilder):
|
||||
def build_keywords(self, title, refs, subitems):
|
||||
keywords = []
|
||||
|
||||
title = cgi.escape(title)
|
||||
title = escape(title)
|
||||
# if len(refs) == 0: # XXX
|
||||
# write_param('See Also', title)
|
||||
if len(refs) == 1:
|
||||
|
Loading…
Reference in New Issue
Block a user