diff options
-rwxr-xr-x | Lib/pydoc.py | 2 | ||||
-rw-r--r-- | Lib/test/test_pydoc.py | 11 | ||||
-rw-r--r-- | Lib/xmlrpc/server.py | 2 | ||||
-rw-r--r-- | Misc/NEWS.d/next/Library/2019-11-13-16-49-03.bpo-38786.gNOwKh.rst | 1 |
4 files changed, 14 insertions, 2 deletions
diff --git a/Lib/pydoc.py b/Lib/pydoc.py index 9a22e56686..e32fdf7697 100755 --- a/Lib/pydoc.py +++ b/Lib/pydoc.py @@ -585,7 +585,7 @@ class HTMLDoc(Doc): escape = escape or self.escape results = [] here = 0 - pattern = re.compile(r'\b((http|ftp)://\S+[\w/]|' + pattern = re.compile(r'\b((http|https|ftp)://\S+[\w/]|' r'RFC[- ]?(\d+)|' r'PEP[- ]?(\d+)|' r'(self\.)?(\w+))') diff --git a/Lib/test/test_pydoc.py b/Lib/test/test_pydoc.py index c80477c50f..b803b8bff2 100644 --- a/Lib/test/test_pydoc.py +++ b/Lib/test/test_pydoc.py @@ -1311,6 +1311,17 @@ foo 'async <a name="-an_async_generator"><strong>an_async_generator', html) + def test_html_for_https_links(self): + def a_fn_with_https_link(): + """a link https://localhost/""" + pass + + html = pydoc.HTMLDoc().document(a_fn_with_https_link) + self.assertIn( + '<a href="https://localhost/">https://localhost/</a>', + html + ) + class PydocServerTest(unittest.TestCase): """Tests for pydoc._start_server""" diff --git a/Lib/xmlrpc/server.py b/Lib/xmlrpc/server.py index 32aba4df4c..287e3243b1 100644 --- a/Lib/xmlrpc/server.py +++ b/Lib/xmlrpc/server.py @@ -732,7 +732,7 @@ class ServerHTMLDoc(pydoc.HTMLDoc): # hyperlinking of arbitrary strings being used as method # names. Only methods with names consisting of word characters # and '.'s are hyperlinked. - pattern = re.compile(r'\b((http|ftp)://\S+[\w/]|' + pattern = re.compile(r'\b((http|https|ftp)://\S+[\w/]|' r'RFC[- ]?(\d+)|' r'PEP[- ]?(\d+)|' r'(self\.)?((?:\w|\.)+))\b') diff --git a/Misc/NEWS.d/next/Library/2019-11-13-16-49-03.bpo-38786.gNOwKh.rst b/Misc/NEWS.d/next/Library/2019-11-13-16-49-03.bpo-38786.gNOwKh.rst new file mode 100644 index 0000000000..f95d773e08 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2019-11-13-16-49-03.bpo-38786.gNOwKh.rst @@ -0,0 +1 @@ +pydoc now recognizes and parses HTTPS URLs. Patch by python273. |