classification
Title: pydoc does not append .html to documentation
Type: Stage: patch review
Components: Documentation Versions: Python 3.9
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: docs@python Nosy List: docs@python, mdk
Priority: normal Keywords: patch

Created on 2021-01-08 21:55 by mdk, last changed 2021-01-08 22:11 by mdk.

Pull Requests
URL Status Linked Edit
PR 24174 open mdk, 2021-01-08 22:08
Messages (2)
msg384693 - (view) Author: Julien Palard (mdk) * (Python committer) Date: 2021-01-08 21:55
Running `python3 -m pydoc ensurepip` gives me:

https://docs.python.org/3.9/library/ensurepip
but it should be:

https://docs.python.org/3.9/library/ensurepip.html

Issue is in getdocloc function on the line:

    docloc = "%s/%s" % (docloc.rstrip("/"), object.__name__.lower())

But it previously worked as the nginx config for the doc server contains:

    # Emulate Apache's content-negotiation. Was a temporary measure,
    # but now people are using it like a feature.
    location ~ ^/((2|3)(\.[0-8])?|dev)/\w+/[\d\w\.]+(?!\.html)$ {
        if (-f "${request_filename}.html") {
            return 301 https://$host:$request_uri.html;
        }
    }

(So yes "people are using it like a feature" contains pydoc :))

Notice the [0-8], which does not match for my /3.9/.

I propose to fix the issue on both sides:
- On psf-salt to allow 3.9 to get the "temporary" measure.
- pydoc side to simplify the code
msg384694 - (view) Author: Julien Palard (mdk) * (Python committer) Date: 2021-01-08 22:11
This is now fixed on the docs server thanks to [1], so it should work for already release Python 3.9 :)

[1]: https://github.com/python/psf-salt/pull/198

I still did a PR on cpython to avoid a redirection, and get cpython itself out of the "people use this temporary fix as a feature now".
History
Date User Action Args
2021-01-08 22:11:03mdksetmessages: + msg384694
2021-01-08 22:08:45mdksetkeywords: + patch
stage: patch review
pull_requests: + pull_request23001
2021-01-08 21:55:55mdkcreate