diff options
author | Zachary Ware <zachary.ware@gmail.com> | 2014-07-10 16:21:01 (GMT) |
---|---|---|
committer | Zachary Ware <zachary.ware@gmail.com> | 2014-07-10 16:21:01 (GMT) |
commit | fff80d984caa6d7f63ff1bb13d9c3d5261c0209f (patch) | |
tree | cfb43049705c9837ed40be2b8f4c26960c1a3bb9 /Lib/pydoc.py | |
parent | f6e9f36e544ea7443bc3bdd959968e65817994e9 (diff) | |
parent | eb43214427b1ae6d7095bdd2333e9bc2220f9449 (diff) | |
download | cpython-fff80d984caa6d7f63ff1bb13d9c3d5261c0209f.zip cpython-fff80d984caa6d7f63ff1bb13d9c3d5261c0209f.tar.gz cpython-fff80d984caa6d7f63ff1bb13d9c3d5261c0209f.tar.bz2 |
Issue #21942: Fixed source file viewing in pydoc's server mode on Windows.
Diffstat (limited to 'Lib/pydoc.py')
-rwxr-xr-x | Lib/pydoc.py | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/Lib/pydoc.py b/Lib/pydoc.py index adb15c4..4c67835 100755 --- a/Lib/pydoc.py +++ b/Lib/pydoc.py @@ -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 @@ -646,10 +647,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)' @@ -2350,7 +2348,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 |