Skip to content

Commit

Permalink
GH-103484: Fix redirected permanently URLs (#104001)
Browse files Browse the repository at this point in the history
Co-authored-by: Hugo van Kemenade <[email protected]>
Co-authored-by: Oleg Iarygin <[email protected]>
  • Loading branch information
3 people authored May 2, 2023
1 parent 82ba6ce commit 68ed2a2
Show file tree
Hide file tree
Showing 40 changed files with 78 additions and 60 deletions.
24 changes: 21 additions & 3 deletions Doc/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -264,11 +264,29 @@

linkcheck_allowed_redirects = {
# bpo-NNNN -> BPO -> GH Issues
r'https://bugs.python.org/issue\?@action=redirect&bpo=\d+': 'https://github.com/python/cpython/issues/\d+',
r'https://bugs.python.org/issue\?@action=redirect&bpo=\d+': r'https://github.com/python/cpython/issues/\d+',
# GH-NNNN used to refer to pull requests
r'https://github.com/python/cpython/issues/\d+': 'https://github.com/python/cpython/pull/\d+',
r'https://github.com/python/cpython/issues/\d+': r'https://github.com/python/cpython/pull/\d+',
# :source:`something` linking files in the repository
r'https://github.com/python/cpython/tree/.*': 'https://github.com/python/cpython/blob/.*'
r'https://github.com/python/cpython/tree/.*': 'https://github.com/python/cpython/blob/.*',
# Intentional HTTP use at Misc/NEWS.d/3.5.0a1.rst
r'http://www.python.org/$': 'https://www.python.org/$',
# Used in license page, keep as is
r'https://www.zope.org/': r'https://www.zope.dev/',
# Microsoft's redirects to learn.microsoft.com
r'https://msdn.microsoft.com/.*': 'https://learn.microsoft.com/.*',
r'https://docs.microsoft.com/.*': 'https://learn.microsoft.com/.*',
r'https://go.microsoft.com/fwlink/\?LinkID=\d+': 'https://learn.microsoft.com/.*',
# Language redirects
r'https://toml.io': 'https://toml.io/en/',
r'https://www.redhat.com': 'https://www.redhat.com/en',
# Other redirects
r'https://www.boost.org/libs/.+': r'https://www.boost.org/doc/libs/\d_\d+_\d/.+',
r'https://support.microsoft.com/en-us/help/\d+': 'https://support.microsoft.com/en-us/topic/.+',
r'https://perf.wiki.kernel.org$': 'https://perf.wiki.kernel.org/index.php/Main_Page',
r'https://www.sqlite.org': 'https://www.sqlite.org/index.html',
r'https://mitpress.mit.edu/sicp$': 'https://mitpress.mit.edu/9780262510875/structure-and-interpretation-of-computer-programs/',
r'https://www.python.org/psf/': 'https://www.python.org/psf-landing/',
}

linkcheck_anchors_ignore = [
Expand Down
2 changes: 1 addition & 1 deletion Doc/faq/extending.rst
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ on what you're trying to do.
.. XXX make sure these all work
`Cython <https://cython.org>`_ and its relative `Pyrex
<https://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/>`_ are compilers
<https://www.csse.canterbury.ac.nz/greg.ewing/python/Pyrex/>`_ are compilers
that accept a slightly modified form of Python and generate the corresponding
C code. Cython and Pyrex make it possible to write an extension without having
to learn Python's C API.
Expand Down
8 changes: 4 additions & 4 deletions Doc/faq/general.rst
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,8 @@ commercial use, to sell copies of Python in source or binary form (modified or
unmodified), or to sell products that incorporate Python in some form. We would
still like to know about all commercial use of Python, of course.

See `the PSF license page <https://www.python.org/psf/license/>`_ to find further
explanations and a link to the full text of the license.
See `the license page <https://docs.python.org/3/license.html>`_ to find further
explanations and the full text of the PSF License.

The Python logo is trademarked, and in certain cases permission is required to
use it. Consult `the Trademark Usage Policy
Expand Down Expand Up @@ -215,7 +215,7 @@ every day, and Usenet readers are often more able to cope with this volume.
Announcements of new software releases and events can be found in
comp.lang.python.announce, a low-traffic moderated list that receives about five
postings per day. It's available as `the python-announce mailing list
<https://mail.python.org/mailman/listinfo/python-announce-list>`_.
<https://mail.python.org/mailman3/lists/python-announce-list.python.org/>`_.

More info about other mailing lists and newsgroups
can be found at https://www.python.org/community/lists/.
Expand Down Expand Up @@ -352,7 +352,7 @@ titled "Python X.Y Release Schedule", where X.Y is a version that hasn't been
publicly released yet.

New development is discussed on `the python-dev mailing list
<https://mail.python.org/mailman/listinfo/python-dev/>`_.
<https://mail.python.org/mailman3/lists/python-dev.python.org/>`_.


Is it reasonable to propose incompatible changes to Python?
Expand Down
2 changes: 1 addition & 1 deletion Doc/faq/programming.rst
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ Yes.
`Pyflakes <https://github.com/PyCQA/pyflakes>`_ do basic checking that will
help you catch bugs sooner.

Static type checkers such as `Mypy <http://mypy-lang.org/>`_,
Static type checkers such as `Mypy <https://mypy-lang.org/>`_,
`Pyre <https://pyre-check.org/>`_, and
`Pytype <https://github.com/google/pytype>`_ can check type hints in Python
source code.
Expand Down
2 changes: 1 addition & 1 deletion Doc/howto/pyporting.rst
Original file line number Diff line number Diff line change
Expand Up @@ -438,7 +438,7 @@ to make sure everything functions as expected in both versions of Python.
.. _Futurize: https://python-future.org/automatic_conversion.html
.. _importlib2: https://pypi.org/project/importlib2
.. _Modernize: https://python-modernize.readthedocs.io/
.. _mypy: http://mypy-lang.org/
.. _mypy: https://mypy-lang.org/
.. _Porting to Python 3: http://python3porting.com/
.. _Pylint: https://pypi.org/project/pylint

Expand Down
2 changes: 1 addition & 1 deletion Doc/library/asyncio-eventloop.rst
Original file line number Diff line number Diff line change
Expand Up @@ -529,7 +529,7 @@ Opening network connections
specifies requirements for algorithms that reduce this user-visible
delay and provides an algorithm.

For more information: https://tools.ietf.org/html/rfc6555
For more information: https://datatracker.ietf.org/doc/html/rfc6555

.. versionchanged:: 3.11

Expand Down
12 changes: 6 additions & 6 deletions Doc/library/hashlib.rst
Original file line number Diff line number Diff line change
Expand Up @@ -432,7 +432,7 @@ Constructor functions also accept the following tree hashing parameters:
:alt: Explanation of tree mode parameters.

See section 2.10 in `BLAKE2 specification
<https://blake2.net/blake2_20130129.pdf>`_ for comprehensive review of tree
<https://www.blake2.net/blake2_20130129.pdf>`_ for comprehensive review of tree
hashing.


Expand Down Expand Up @@ -619,7 +619,7 @@ on the hash function used in digital signatures.
by the signer.

(`NIST SP-800-106 "Randomized Hashing for Digital Signatures"
<https://csrc.nist.gov/publications/detail/sp/800-106/final>`_)
<https://csrc.nist.gov/publications/detail/sp/800-106/archive/2009-02-25>`_)

In BLAKE2 the salt is processed as a one-time input to the hash function during
initialization, rather than as an input to each compression function.
Expand All @@ -628,7 +628,7 @@ initialization, rather than as an input to each compression function.

*Salted hashing* (or just hashing) with BLAKE2 or any other general-purpose
cryptographic hash function, such as SHA-256, is not suitable for hashing
passwords. See `BLAKE2 FAQ <https://blake2.net/#qa>`_ for more
passwords. See `BLAKE2 FAQ <https://www.blake2.net/#qa>`_ for more
information.
..
Expand Down Expand Up @@ -764,9 +764,9 @@ Domain Dedication 1.0 Universal:

* *Alexandr Sokolovskiy*

.. _BLAKE2: https://blake2.net
.. _BLAKE2: https://www.blake2.net
.. _HMAC: https://en.wikipedia.org/wiki/Hash-based_message_authentication_code
.. _BLAKE: https://131002.net/blake/
.. _BLAKE: https://web.archive.org/web/20200918190133/https://131002.net/blake/
.. _SHA-3: https://en.wikipedia.org/wiki/NIST_hash_function_competition
.. _ChaCha: https://cr.yp.to/chacha.html
.. _pyblake2: https://pythonhosted.org/pyblake2/
Expand All @@ -782,7 +782,7 @@ Domain Dedication 1.0 Universal:
Module :mod:`base64`
Another way to encode binary hashes for non-binary environments.

https://blake2.net
https://www.blake2.net
Official BLAKE2 website.

https://csrc.nist.gov/csrc/media/publications/fips/180/2/archive/2002-08-01/documents/fips180-2.pdf
Expand Down
2 changes: 1 addition & 1 deletion Doc/library/http.client.rst
Original file line number Diff line number Diff line change
Expand Up @@ -354,7 +354,7 @@ HTTPConnection Objects
the CONNECT request.

As HTTP/1.1 is used for HTTP CONNECT tunnelling request, `as per the RFC
<https://tools.ietf.org/html/rfc7231#section-4.3.6>`_, a HTTP ``Host:``
<https://datatracker.ietf.org/doc/html/rfc7231#section-4.3.6>`_, a HTTP ``Host:``
header must be provided, matching the authority-form of the request target
provided as the destination for the CONNECT request. If a HTTP ``Host:``
header is not provided via the headers argument, one is generated and
Expand Down
2 changes: 1 addition & 1 deletion Doc/library/importlib.metadata.rst
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ The "selectable" entry points were introduced in ``importlib_metadata``
no parameters and always returned a dictionary of entry points, keyed
by group. With ``importlib_metadata`` 5.0 and Python 3.12,
``entry_points`` always returns an ``EntryPoints`` object. See
`backports.entry_points_selectable <https://pypi.org/project/backports.entry_points_selectable>`_
`backports.entry_points_selectable <https://pypi.org/project/backports.entry-points-selectable>`_
for compatibility options.


Expand Down
2 changes: 1 addition & 1 deletion Doc/library/os.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4593,7 +4593,7 @@ written in Python, such as a mail server's external command delivery program.
:attr:`!children_system`, and :attr:`!elapsed` in that order.

See the Unix manual page
:manpage:`times(2)` and `times(3) <https://www.freebsd.org/cgi/man.cgi?time(3)>`_ manual page on Unix or `the GetProcessTimes MSDN
:manpage:`times(2)` and `times(3) <https://man.freebsd.org/cgi/man.cgi?time(3)>`_ manual page on Unix or `the GetProcessTimes MSDN
<https://docs.microsoft.com/windows/win32/api/processthreadsapi/nf-processthreadsapi-getprocesstimes>`_
on Windows. On Windows, only :attr:`!user` and :attr:`!system` are known; the other attributes are zero.

Expand Down
2 changes: 1 addition & 1 deletion Doc/library/plistlib.rst
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ or :class:`datetime.datetime` objects.

.. seealso::

`PList manual page <https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/PropertyLists/>`_
`PList manual page <https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/PropertyLists/>`_
Apple's documentation of the file format.


Expand Down
2 changes: 1 addition & 1 deletion Doc/library/resource.rst
Original file line number Diff line number Diff line change
Expand Up @@ -244,7 +244,7 @@ platform.
used by all of this user id's processes.
This limit is enforced only if bit 1 of the vm.overcommit sysctl is set.
Please see
`tuning(7) <https://www.freebsd.org/cgi/man.cgi?query=tuning&sektion=7>`__
`tuning(7) <https://man.freebsd.org/cgi/man.cgi?query=tuning&sektion=7>`__
for a complete description of this sysctl.

.. availability:: FreeBSD.
Expand Down
2 changes: 1 addition & 1 deletion Doc/library/select.rst
Original file line number Diff line number Diff line change
Expand Up @@ -505,7 +505,7 @@ Kqueue Objects
Kevent Objects
--------------

https://www.freebsd.org/cgi/man.cgi?query=kqueue&sektion=2
https://man.freebsd.org/cgi/man.cgi?query=kqueue&sektion=2

.. attribute:: kevent.ident

Expand Down
2 changes: 1 addition & 1 deletion Doc/library/ssl.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1719,7 +1719,7 @@ to speed up repeated connections from the same clients.
.. versionadded:: 3.3

.. seealso::
`SSL/TLS & Perfect Forward Secrecy <https://vincent.bernat.im/en/blog/2011-ssl-perfect-forward-secrecy>`_
`SSL/TLS & Perfect Forward Secrecy <https://vincent.bernat.ch/en/blog/2011-ssl-perfect-forward-secrecy>`_
Vincent Bernat.

.. method:: SSLContext.wrap_socket(sock, server_side=False, \
Expand Down
2 changes: 1 addition & 1 deletion Doc/library/statistics.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ This module provides functions for calculating mathematical statistics of
numeric (:class:`~numbers.Real`-valued) data.

The module is not intended to be a competitor to third-party libraries such
as `NumPy <https://numpy.org>`_, `SciPy <https://www.scipy.org/>`_, or
as `NumPy <https://numpy.org>`_, `SciPy <https://scipy.org/>`_, or
proprietary full-featured statistics packages aimed at professional
statisticians such as Minitab, SAS and Matlab. It is aimed at the level of
graphing and scientific calculators.
Expand Down
2 changes: 1 addition & 1 deletion Doc/library/struct.rst
Original file line number Diff line number Diff line change
Expand Up @@ -602,4 +602,4 @@ The :mod:`struct` module also defines the following type:

.. _ieee 754 standard: https://en.wikipedia.org/wiki/IEEE_754-2008_revision

.. _IETF RFC 1700: https://tools.ietf.org/html/rfc1700
.. _IETF RFC 1700: https://datatracker.ietf.org/doc/html/rfc1700
2 changes: 1 addition & 1 deletion Doc/library/sys.rst
Original file line number Diff line number Diff line change
Expand Up @@ -792,7 +792,7 @@ always available.
additional garbage collector overhead if the object is managed by the garbage
collector.

See `recursive sizeof recipe <https://code.activestate.com/recipes/577504>`_
See `recursive sizeof recipe <https://code.activestate.com/recipes/577504/>`_
for an example of using :func:`getsizeof` recursively to find the size of
containers and all their contents.

Expand Down
2 changes: 1 addition & 1 deletion Doc/library/unittest.mock-examples.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1074,7 +1074,7 @@ subclass.
Sometimes this is inconvenient. For example, `one user
<https://code.google.com/archive/p/mock/issues/105>`_ is subclassing mock to
created a `Twisted adaptor
<https://twistedmatrix.com/documents/11.0.0/api/twisted.python.components.html>`_.
<https://twisted.org/documents/11.0.0/api/twisted.python.components.html>`_.
Having this applied to attributes too actually causes errors.

``Mock`` (in all its flavours) uses a method called ``_get_child_mock`` to create
Expand Down
2 changes: 1 addition & 1 deletion Doc/library/unittest.rst
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ test runner
a GUI tool for test discovery and execution. This is intended largely for ease of use
for those new to unit testing. For production environments it is
recommended that tests be driven by a continuous integration system such as
`Buildbot <https://buildbot.net/>`_, `Jenkins <https://jenkins.io/>`_,
`Buildbot <https://buildbot.net/>`_, `Jenkins <https://www.jenkins.io/>`_,
`GitHub Actions <https://github.com/features/actions>`_, or
`AppVeyor <https://www.appveyor.com/>`_.

Expand Down
2 changes: 1 addition & 1 deletion Doc/library/xmlrpc.client.rst
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ between conformable Python objects and XML on the wire.

.. seealso::

`XML-RPC HOWTO <https://www.tldp.org/HOWTO/XML-RPC-HOWTO/index.html>`_
`XML-RPC HOWTO <https://tldp.org/HOWTO/XML-RPC-HOWTO/index.html>`_
A good description of XML-RPC operation and client software in several languages.
Contains pretty much everything an XML-RPC client developer needs to know.

Expand Down
2 changes: 1 addition & 1 deletion Doc/library/zipfile.rst
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ The module defines the following items:
Documentation on the ZIP file format by Phil Katz, the creator of the format and
algorithms used.

`Info-ZIP Home Page <http://www.info-zip.org/>`_
`Info-ZIP Home Page <https://infozip.sourceforge.net/>`_
Information about the Info-ZIP project's ZIP archive programs and development
libraries.

Expand Down
2 changes: 1 addition & 1 deletion Doc/reference/datamodel.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1564,7 +1564,7 @@ Basic customization
This is intended to provide protection against a denial-of-service caused
by carefully chosen inputs that exploit the worst case performance of a
dict insertion, O(n\ :sup:`2`) complexity. See
http://www.ocert.org/advisories/ocert-2011-003.html for details.
http://ocert.org/advisories/ocert-2011-003.html for details.

Changing hash values affects the iteration order of sets.
Python has never made guarantees about this ordering
Expand Down
2 changes: 1 addition & 1 deletion Doc/reference/introduction.rst
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ PyPy
and a Just in Time compiler. One of the goals of the project is to encourage
experimentation with the language itself by making it easier to modify the
interpreter (since it is written in Python). Additional information is
available on `the PyPy project's home page <https://pypy.org/>`_.
available on `the PyPy project's home page <https://www.pypy.org/>`_.

Each of these implementations varies in some way from the language as documented
in this manual, or introduces specific information beyond what's covered in the
Expand Down
2 changes: 1 addition & 1 deletion Doc/using/cmdline.rst
Original file line number Diff line number Diff line change
Expand Up @@ -370,7 +370,7 @@ Miscellaneous options
Hash randomization is intended to provide protection against a
denial-of-service caused by carefully chosen inputs that exploit the worst
case performance of a dict construction, O(n\ :sup:`2`) complexity. See
http://www.ocert.org/advisories/ocert-2011-003.html for details.
http://ocert.org/advisories/ocert-2011-003.html for details.

:envvar:`PYTHONHASHSEED` allows you to set a fixed value for the hash
seed secret.
Expand Down
2 changes: 1 addition & 1 deletion Doc/using/mac.rst
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ number of standard Unix command line editors, :program:`vim` and
:program:`BBEdit` or :program:`TextWrangler` from Bare Bones Software (see
http://www.barebones.com/products/bbedit/index.html) are good choices, as is
:program:`TextMate` (see https://macromates.com/). Other editors include
:program:`Gvim` (https://macvim-dev.github.io/macvim/) and :program:`Aquamacs`
:program:`Gvim` (https://macvim.org/macvim/) and :program:`Aquamacs`
(http://aquamacs.org/).

To run your script from the Terminal window you must make sure that
Expand Down
2 changes: 1 addition & 1 deletion Doc/using/windows.rst
Original file line number Diff line number Diff line change
Expand Up @@ -541,7 +541,7 @@ Besides the standard CPython distribution, there are modified packages including
additional functionality. The following is a list of popular versions and their
key features:

`ActivePython <https://www.activestate.com/activepython/>`_
`ActivePython <https://www.activestate.com/products/python/>`_
Installer with multi-platform compatibility, documentation, PyWin32

`Anaconda <https://www.anaconda.com/download/>`_
Expand Down
2 changes: 1 addition & 1 deletion Doc/whatsnew/2.0.rst
Original file line number Diff line number Diff line change
Expand Up @@ -933,7 +933,7 @@ using it::
parser.parse( 'hamlet.xml' )

For more information, consult the Python documentation, or the XML HOWTO at
http://pyxml.sourceforge.net/topics/howto/xml-howto.html.
https://pyxml.sourceforge.net/topics/howto/xml-howto.html.


DOM Support
Expand Down
2 changes: 1 addition & 1 deletion Doc/whatsnew/2.1.rst
Original file line number Diff line number Diff line change
Expand Up @@ -613,7 +613,7 @@ New and Improved Modules
framework based on running embedded examples in docstrings and comparing the
results against the expected output. PyUnit, contributed by Steve Purcell, is a
unit testing framework inspired by JUnit, which was in turn an adaptation of
Kent Beck's Smalltalk testing framework. See http://pyunit.sourceforge.net/ for
Kent Beck's Smalltalk testing framework. See https://pyunit.sourceforge.net/ for
more information about PyUnit.

* The :mod:`difflib` module contains a class, :class:`SequenceMatcher`, which
Expand Down
4 changes: 2 additions & 2 deletions Doc/whatsnew/2.2.rst
Original file line number Diff line number Diff line change
Expand Up @@ -632,10 +632,10 @@ queen threatens another) and the Knight's Tour (a route that takes a knight to
every square of an $NxN$ chessboard without visiting any square twice).

The idea of generators comes from other programming languages, especially Icon
(https://www.cs.arizona.edu/icon/), where the idea of generators is central. In
(https://www2.cs.arizona.edu/icon/), where the idea of generators is central. In
Icon, every expression and function call behaves like a generator. One example
from "An Overview of the Icon Programming Language" at
https://www.cs.arizona.edu/icon/docs/ipd266.htm gives an idea of what this looks
https://www2.cs.arizona.edu/icon/docs/ipd266.htm gives an idea of what this looks
like::

sentence := "Store it in the neighboring harbor"
Expand Down
6 changes: 3 additions & 3 deletions Doc/whatsnew/2.3.rst
Original file line number Diff line number Diff line change
Expand Up @@ -218,10 +218,10 @@ queen threatens another) and the Knight's Tour (a route that takes a knight to
every square of an $NxN$ chessboard without visiting any square twice).

The idea of generators comes from other programming languages, especially Icon
(https://www.cs.arizona.edu/icon/), where the idea of generators is central. In
(https://www2.cs.arizona.edu/icon/), where the idea of generators is central. In
Icon, every expression and function call behaves like a generator. One example
from "An Overview of the Icon Programming Language" at
https://www.cs.arizona.edu/icon/docs/ipd266.htm gives an idea of what this looks
https://www2.cs.arizona.edu/icon/docs/ipd266.htm gives an idea of what this looks
like::

sentence := "Store it in the neighboring harbor"
Expand Down Expand Up @@ -1332,7 +1332,7 @@ complete list of changes, or look through the CVS logs for all the details.
(Contributed by Kevin O'Connor.)

* The IDLE integrated development environment has been updated using the code
from the IDLEfork project (http://idlefork.sourceforge.net). The most notable feature is
from the IDLEfork project (https://idlefork.sourceforge.net). The most notable feature is
that the code being developed is now executed in a subprocess, meaning that
there's no longer any need for manual ``reload()`` operations. IDLE's core code
has been incorporated into the standard library as the :mod:`idlelib` package.
Expand Down
2 changes: 1 addition & 1 deletion Doc/whatsnew/2.4.rst
Original file line number Diff line number Diff line change
Expand Up @@ -756,7 +756,7 @@ API that perform ASCII-only conversions, ignoring the locale setting:
:c:expr:`double` to an ASCII string.

The code for these functions came from the GLib library
(https://developer.gnome.org/glib/stable/), whose developers kindly
(https://developer-old.gnome.org/glib/2.26/), whose developers kindly
relicensed the relevant functions and donated them to the Python Software
Foundation. The :mod:`locale` module can now change the numeric locale,
letting extensions such as GTK+ produce the correct results.
Expand Down
Loading

0 comments on commit 68ed2a2

Please sign in to comment.