'<p align=right><font color="#909090" face="helvetica,'
'arial"><strong>pydoc</strong> by Ka-Ping Yee'
'<ping@lfw.org></font>')
- return html.page('Index of Modules', ''.join(contents))
+ return 'Index of Modules', ''.join(contents)
def html_search(key):
"""Search results page."""
results.append(bltinlink(name) + desc)
contents = heading + html.bigsection(
'key = %s' % key, '#ffffff', '#ee77aa', '<br>'.join(results))
- return html.page('Search Results', contents)
+ return 'Search Results', contents
def html_getfile(path):
"""Get and display a source file listing safely."""
- path = os.sep + path.replace('%20', ' ')
+ path = path.replace('%20', ' ')
with open(path, 'r') as fp:
lines = html.escape(fp.read())
body = '<pre>%s</pre>' % lines
'#ffffff', '#7799ee')
contents = heading + html.bigsection(
'File: %s' % path, '#ffffff', '#ee77aa', body)
- return html.page('getfile %s' % path, contents)
+ return 'getfile %s' % path, contents
def html_topics():
"""Index of topic texts available."""
contents = html.multicolumn(names, bltinlink)
contents = heading + html.bigsection(
'Topics', '#ffffff', '#ee77aa', contents)
- return html.page('Topics', contents)
+ return 'Topics', contents
def html_keywords():
"""Index of keywords."""
contents = html.multicolumn(names, bltinlink)
contents = heading + html.bigsection(
'Keywords', '#ffffff', '#ee77aa', contents)
- return html.page('Keywords', contents)
+ return 'Keywords', contents
def html_topicpage(topic):
"""Topic or keyword help page."""
xrefs = html.multicolumn(xrefs, bltinlink)
xrefs = html.section('Related help topics: ',
'#ffffff', '#ee77aa', xrefs)
- return html.page('%s %s' % (title, topic),
- ''.join((heading, contents, xrefs)))
+ return ('%s %s' % (title, topic),
+ ''.join((heading, contents, xrefs)))
def html_error(url):
heading = html.heading(
title = url
contents = ''
if url in ("", ".", "index"):
- contents = html_index()
+ title, contents = html_index()
elif url == "topics":
- contents = html_topics()
+ title, contents = html_topics()
elif url == "keywords":
- contents = html_keywords()
+ title, contents = html_keywords()
elif url.startswith("search?key="):
- contents = html_search(url[11:])
+ title, contents = html_search(url[11:])
elif url.startswith("getfile?key="):
url = url[12:]
try:
- contents = html_getfile(url)
+ title, contents = html_getfile(url)
except IOError:
contents = html_error('could not read file %r' % url)
title = 'Read Error'
title = describe(obj)
contents = html.document(obj, url)
elif url in Helper.keywords or url in Helper.topics:
- contents = html_topicpage(url)
+ title, contents = html_topicpage(url)
else:
contents = html_error(
'no Python documentation found for %r' % url)
print('\n' + ''.join(diffs))
def get_html_title(text):
- _, _, text = text.rpartition("<title>")
- title, _, _ = text.rpartition("</title>")
+ # Bit of hack, but good enough for test purposes
+ header, _, _ = text.partition("</head>")
+ _, _, title = header.partition("<title>")
+ title, _, _ = title.partition("</title>")
return title
self.assertEqual(result, title)
path = string.__file__
- title = "Python: getfile /" + path
+ title = "Python: getfile " + path
url = "getfile?key=" + path
text = pydoc._url_handler(url, "text/html")
result = get_html_title(text)