Issue #21942: Fixed source file viewing in pydoc's server mode on Windows.

This commit is contained in:
Zachary Ware 2014-07-10 11:18:00 -05:00
parent 7cca28ffa2
commit eb43214427
3 changed files with 7 additions and 10 deletions

View file

@ -64,6 +64,7 @@ import re
import sys
import time
import tokenize
import urllib.parse
import warnings
from collections import deque
from reprlib import Repr
@ -648,10 +649,7 @@ class HTMLDoc(Doc):
head = '<big><big><strong>%s</strong></big></big>' % linkedname
try:
path = inspect.getabsfile(object)
url = path
if sys.platform == 'win32':
import nturl2path
url = nturl2path.pathname2url(path)
url = urllib.parse.quote(path)
filelink = self.filelink(url, path)
except TypeError:
filelink = '(built-in)'
@ -2353,7 +2351,7 @@ def _url_handler(url, content_type="text/html"):
def html_getfile(path):
"""Get and display a source file listing safely."""
path = path.replace('%20', ' ')
path = urllib.parse.unquote(path)
with tokenize.open(path) as fp:
lines = html.escape(fp.read())
body = '<pre>%s</pre>' % lines