Browse Source

Fixed #29334 -- Updated pypi.python.org URLs to pypi.org.

Brett Cannon 7 years ago
parent
commit
64b74804c5

+ 1 - 1
django/db/backends/mysql/base.py

@@ -1,7 +1,7 @@
 """
 MySQL database backend for Django.
 
-Requires mysqlclient: https://pypi.python.org/pypi/mysqlclient/
+Requires mysqlclient: https://pypi.org/project/mysqlclient/
 """
 import re
 

+ 1 - 1
django/db/models/fields/files.py

@@ -376,7 +376,7 @@ class ImageField(FileField):
             return [
                 checks.Error(
                     'Cannot use ImageField because Pillow is not installed.',
-                    hint=('Get Pillow at https://pypi.python.org/pypi/Pillow '
+                    hint=('Get Pillow at https://pypi.org/project/Pillow/ '
                           'or run command "pip install Pillow".'),
                     obj=self,
                     id='fields.E210',

+ 1 - 1
django/dispatch/__init__.py

@@ -1,6 +1,6 @@
 """Multi-consumer multi-producer dispatching mechanism
 
-Originally based on pydispatch (BSD) http://pypi.python.org/pypi/PyDispatcher/2.0.1
+Originally based on pydispatch (BSD) https://pypi.org/project/PyDispatcher/2.0.1/
 See license.txt for original license.
 
 Heavily modified for Django's purposes.

+ 1 - 1
django/utils/archive.py

@@ -1,5 +1,5 @@
 """
-Based on "python-archive" -- http://pypi.python.org/pypi/python-archive/
+Based on "python-archive" -- https://pypi.org/project/python-archive/
 
 Copyright (c) 2010 Gary Wilson Jr. <gary.wilson@gmail.com> and contributors.
 

+ 1 - 1
docs/howto/outputting-pdf.txt

@@ -34,7 +34,7 @@ Test your installation by importing it in the Python interactive interpreter::
 
 If that command doesn't raise any errors, the installation worked.
 
-.. _available on PyPI: https://pypi.python.org/pypi/reportlab
+.. _available on PyPI: https://pypi.org/project/reportlab/
 .. _user guide: https://www.reportlab.com/docs/reportlab-userguide.pdf
 
 Write your view

+ 3 - 3
docs/howto/windows.txt

@@ -40,7 +40,7 @@ To install pip on your machine, go to
 https://pip.pypa.io/en/latest/installing/, and follow the ``Installing with
 get-pip.py`` instructions.
 
-.. _pip: https://pypi.python.org/pypi/pip
+.. _pip: https://pypi.org/project/pip/
 
 Install ``virtualenv`` and ``virtualenvwrapper``
 ================================================
@@ -62,8 +62,8 @@ command prompt, you'll need to activate the environment again using::
 
     workon myproject
 
-.. _virtualenv: https://pypi.python.org/pypi/virtualenv
-.. _virtualenvwrapper: https://pypi.python.org/pypi/virtualenvwrapper-win
+.. _virtualenv: https://pypi.org/project/virtualenv/
+.. _virtualenvwrapper: https://pypi.org/project/virtualenvwrapper-win/
 
 Install Django
 ==============

+ 1 - 1
docs/internals/contributing/writing-code/coding-style.txt

@@ -332,4 +332,4 @@ For details about the JavaScript code style used by Django, see
 :doc:`javascript`.
 
 .. _editorconfig: http://editorconfig.org/
-.. _flake8: https://pypi.python.org/pypi/flake8
+.. _flake8: https://pypi.org/project/flake8/

+ 11 - 11
docs/internals/contributing/writing-code/unit-tests.txt

@@ -258,20 +258,20 @@ and install the Geospatial libraries</ref/contrib/gis/install/index>`.
 Each of these dependencies is optional. If you're missing any of them, the
 associated tests will be skipped.
 
-.. _argon2-cffi: https://pypi.python.org/pypi/argon2_cffi
-.. _bcrypt: https://pypi.python.org/pypi/bcrypt
-.. _docutils: https://pypi.python.org/pypi/docutils
-.. _geoip2: https://pypi.python.org/pypi/geoip2
-.. _jinja2: https://pypi.python.org/pypi/jinja2
-.. _numpy: https://pypi.python.org/pypi/numpy
-.. _Pillow: https://pypi.python.org/pypi/Pillow/
+.. _argon2-cffi: https://pypi.org/project/argon2_cffi/
+.. _bcrypt: https://pypi.org/project/bcrypt/
+.. _docutils: https://pypi.org/project/docutils/
+.. _geoip2: https://pypi.org/project/geoip2/
+.. _jinja2: https://pypi.org/project/jinja2/
+.. _numpy: https://pypi.org/project/numpy/
+.. _Pillow: https://pypi.org/project/Pillow/
 .. _PyYAML: https://pyyaml.org/wiki/PyYAML
-.. _pytz: https://pypi.python.org/pypi/pytz/
-.. _setuptools: https://pypi.python.org/pypi/setuptools/
+.. _pytz: https://pypi.org/project/pytz/
+.. _setuptools: https://pypi.org/project/setuptools/
 .. _memcached: https://memcached.org/
 .. _gettext: https://www.gnu.org/software/gettext/manual/gettext.html
-.. _selenium: https://pypi.python.org/pypi/selenium
-.. _sqlparse: https://pypi.python.org/pypi/sqlparse
+.. _selenium: https://pypi.org/project/selenium/
+.. _sqlparse: https://pypi.org/project/sqlparse/
 .. _pip requirements files: https://pip.pypa.io/en/latest/user_guide/#requirements-files
 
 Code coverage

+ 2 - 2
docs/internals/contributing/writing-documentation.txt

@@ -474,11 +474,11 @@ Spelling check
 Before you commit your docs, it's a good idea to run the spelling checker.
 You'll need to install a couple packages first:
 
-* `pyenchant <https://pypi.python.org/pypi/pyenchant/>`_ (which requires
+* `pyenchant <https://pypi.org/project/pyenchant/>`_ (which requires
   `enchant <https://www.abisource.com/projects/enchant/>`_)
 
 * `sphinxcontrib-spelling
-  <https://pypi.python.org/pypi/sphinxcontrib-spelling/>`_
+  <https://pypi.org/project/sphinxcontrib-spelling/>`_
 
 Then from the ``docs`` directory, run ``make spelling``. Wrong words (if any)
 along with the file and line number where they occur will be saved to

+ 0 - 3
docs/internals/deprecation.txt

@@ -632,9 +632,6 @@ details on these changes.
 
 * Support for the Python Imaging Library (PIL) module will be removed, as it
   no longer appears to be actively maintained & does not work on Python 3.
-  You are advised to install `Pillow`_, which should be used instead.
-
-  .. _`Pillow`: https://pypi.python.org/pypi/Pillow
 
 * The following private APIs will be removed:
 

+ 1 - 1
docs/internals/howto-release-django.txt

@@ -309,7 +309,7 @@ Now you're ready to actually put the release out there. To do this:
    This just tests that the tarballs are available (i.e. redirects are up) and
    that they install correctly, but it'll catch silly mistakes.
 
-   __ https://pypi.python.org/pypi/virtualenvwrapper
+   __ https://pypi.org/project/virtualenvwrapper/
 
 #. Ask a few people on IRC to verify the checksums by visiting the checksums
    file (e.g. https://www.djangoproject.com/m/pgp/Django-1.5b1.checksum.txt)

+ 1 - 1
docs/internals/security.txt

@@ -133,7 +133,7 @@ On the day of disclosure, we will take the following steps:
 4. Post a notice to the |django-announce| and oss-security@lists.openwall.com
    mailing lists that links to the blog post.
 
-.. _the Python Package Index: https://pypi.python.org/pypi
+.. _the Python Package Index: https://pypi.org/
 .. _the official Django development blog: https://www.djangoproject.com/weblog/
 
 If a reported issue is believed to be particularly time-sensitive --

+ 8 - 10
docs/intro/reusable-apps.txt

@@ -17,12 +17,12 @@ Python and Django projects share common problems. Wouldn't it be great if we
 could save some of this repeated work?
 
 Reusability is the way of life in Python. `The Python Package Index (PyPI)
-<https://pypi.python.org/pypi>`_ has a vast range of packages you can use in
-your own Python programs. Check out `Django Packages
-<https://djangopackages.org>`_ for existing reusable apps you could incorporate
-in your project. Django itself is also just a Python package. This means that
-you can take existing Python packages or Django apps and compose them into your
-own web project. You only need to write the parts that make your project unique.
+<https://pypi.org/>`_ has a vast range of packages you can use in your own
+Python programs. Check out `Django Packages <https://djangopackages.org>`_ for
+existing reusable apps you could incorporate in your project. Django itself is
+also just a Python package. This means that you can take existing Python
+packages or Django apps and compose them into your own web project. You only
+need to write the parts that make your project unique.
 
 Let's say you were starting a new project that needed a polls app like the one
 we've been working on. How do you make this app reusable? Luckily, you're well
@@ -110,8 +110,8 @@ two packages now. If you need help, you can refer to :ref:`how to install
 Django with pip<installing-official-release>`. You can install ``setuptools``
 the same way.
 
-.. _setuptools: https://pypi.python.org/pypi/setuptools
-.. _pip: https://pypi.python.org/pypi/pip
+.. _setuptools: https://pypi.org/project/setuptools/
+.. _pip: https://pypi.org/project/pip/
 
 Packaging your app
 ==================
@@ -288,8 +288,6 @@ working. We'll now fix this by installing our new ``django-polls`` package.
 
     pip uninstall django-polls
 
-.. _pip: https://pypi.python.org/pypi/pip
-
 Publishing your app
 ===================
 

+ 1 - 1
docs/ref/contrib/gis/geoip2.txt

@@ -18,7 +18,7 @@ Additionally, it is recommended to install the `libmaxminddb C library`__, so
 that ``geoip2`` can leverage the C library's faster speed.
 
 __ https://geoip2.readthedocs.io/
-__ https://pypi.python.org/pypi/geoip2
+__ https://pypi.org/project/geoip2/
 __ https://dev.maxmind.com/geoip/geoip2/geolite2/
 __ https://github.com/maxmind/libmaxminddb
 

+ 2 - 2
docs/ref/databases.txt

@@ -321,7 +321,7 @@ MySQL has a couple drivers that implement the Python Database API described in
   require the MySQL client library or any Python modules outside the standard
   library.
 
-.. _mysqlclient: https://pypi.python.org/pypi/mysqlclient
+.. _mysqlclient: https://pypi.org/project/mysqlclient/
 .. _MySQL Connector/Python: https://dev.mysql.com/downloads/connector/python
 
 These drivers are thread-safe and provide connection pooling.
@@ -919,7 +919,7 @@ unofficial backends, along with any support queries, should be directed to
 the support channels provided by each 3rd party project.
 
 .. _SAP SQL Anywhere: https://github.com/sqlanywhere/sqlany-django
-.. _IBM DB2: https://pypi.python.org/pypi/ibm_db/
+.. _IBM DB2: https://pypi.org/project/ibm_db/
 .. _Microsoft SQL Server: https://django-mssql.readthedocs.io/en/latest/
 .. _Firebird: https://github.com/maxirobaina/django-firebird
 .. _ODBC: https://github.com/lionheart/django-pyodbc/

+ 1 - 1
docs/ref/django-admin.txt

@@ -856,7 +856,7 @@ second). This offers better scaling to large projects, reduction in response
 time to code modification, more robust change detection, and battery usage
 reduction.
 
-.. _pyinotify: https://pypi.python.org/pypi/pyinotify/
+.. _pyinotify: https://pypi.org/project/pyinotify/
 
 When you start the server, and each time you change Python code while the
 server is running, the system check framework will check your entire Django

+ 1 - 1
docs/ref/migration-operations.txt

@@ -275,7 +275,7 @@ be removed (elided) when :ref:`squashing migrations <migration-squashing>`.
     want the operation not to do anything in the given direction. This is
     especially useful in making the operation reversible.
 
-.. _sqlparse: https://pypi.python.org/pypi/sqlparse
+.. _sqlparse: https://pypi.org/project/sqlparse/
 
 ``RunPython``
 -------------

+ 1 - 1
docs/ref/utils.txt

@@ -657,7 +657,7 @@ escaping HTML.
     the return value will be ``"Joel is a slug"``.
 
     If you are looking for a more robust solution, take a look at the `bleach
-    <https://pypi.python.org/pypi/bleach>`_ Python library.
+    <https://pypi.org/project/bleach/>`_ Python library.
 
 .. function:: html_safe()
 

+ 1 - 1
docs/releases/1.11.txt

@@ -576,7 +576,7 @@ It's automatically installed along with Django.
 Support for ``settings.TIME_ZONE = None`` is removed as the behavior isn't
 commonly used and is questionably useful. If you want to automatically detect
 the timezone based on the system timezone, you can use `tzlocal
-<https://pypi.python.org/pypi/tzlocal>`_::
+<https://pypi.org/project/tzlocal/>`_::
 
     from tzlocal import get_localzone
 

+ 1 - 1
docs/releases/1.3.txt

@@ -133,7 +133,7 @@ wherever you would have historically used::
 If you want to continue to use the base unittest library, you can --
 you just won't get any of the nice new unittest2 features.
 
-.. _unittest2: https://pypi.python.org/pypi/unittest2
+.. _unittest2: https://pypi.org/project/unittest2/
 
 Transaction context managers
 ----------------------------

+ 2 - 2
docs/releases/1.6.txt

@@ -261,8 +261,8 @@ Minor features
   `PIL`_ is pending deprecation (support to be removed in Django 1.8).
   To upgrade, you should **first** uninstall PIL, **then** install Pillow.
 
-.. _`Pillow`: https://pypi.python.org/pypi/Pillow
-.. _`PIL`: https://pypi.python.org/pypi/PIL
+.. _`Pillow`: https://pypi.org/project/Pillow/
+.. _`PIL`: https://pypi.org/project/PIL/
 
 * :class:`~django.forms.ModelForm` accepts several new ``Meta``
   options.

+ 3 - 3
docs/releases/1.7.txt

@@ -715,7 +715,7 @@ Management Commands
     filesystem for changes every second. That caused a small delay before
     reloads and reduced battery life on laptops.
 
-    .. _pyinotify: https://pypi.python.org/pypi/pyinotify
+    .. _pyinotify: https://pypi.org/project/pyinotify/
 
   * In addition, the development server automatically reloads when a
     translation file is updated, i.e. after running
@@ -737,7 +737,7 @@ Management Commands
   :class:`~django.db.migrations.operations.RunSQL` operation of migrations,
   which benefits from the improved behavior.
 
-.. _sqlparse: https://pypi.python.org/pypi/sqlparse
+.. _sqlparse: https://pypi.org/project/sqlparse/
 
 Models
 ~~~~~~
@@ -1202,7 +1202,7 @@ a :exc:`ValueError` when encountering them, you will have to install pytz_. You
 may be affected by this problem if you use Django's time zone-related date
 formats or :mod:`django.contrib.syndication`.
 
-.. _pytz: https://pypi.python.org/pypi/pytz/
+.. _pytz: https://pypi.org/project/pytz/
 
 ``remove()`` and ``clear()`` methods of related managers
 --------------------------------------------------------

+ 2 - 2
docs/releases/1.8.txt

@@ -72,7 +72,7 @@ provides several security enhancements to the request/response cycle. The new
 :option:`check --deploy` option allows you to check your production settings
 file for ways to increase the security of your site.
 
-.. _django-secure: https://pypi.python.org/pypi/django-secure
+.. _django-secure: https://pypi.org/project/django-secure/
 
 New PostgreSQL specific functionality
 -------------------------------------
@@ -1493,7 +1493,7 @@ in Django 1.10. The functionality it provided (validating checksum using the
 Luhn algorithm) was undocumented and not used in Django. The module has been
 moved to the `django-localflavor`_ package (version 1.1+).
 
-.. _django-localflavor: https://pypi.python.org/pypi/django-localflavor
+.. _django-localflavor: https://pypi.org/project/django-localflavor/
 
 ``InlineAdminForm.original_content_type_id``
 --------------------------------------------

+ 1 - 1
docs/releases/1.9.txt

@@ -40,7 +40,7 @@ invalidating caches.
 This functionality from the `django-transaction-hooks`_ package has been
 integrated into Django.
 
-.. _django-transaction-hooks: https://pypi.python.org/pypi/django-transaction-hooks
+.. _django-transaction-hooks: https://pypi.org/project/django-transaction-hooks/
 
 Password validation
 -------------------

+ 2 - 2
docs/topics/auth/passwords.txt

@@ -320,8 +320,8 @@ Include any other hashers that your site uses in this list.
 .. _pbkdf2: https://en.wikipedia.org/wiki/PBKDF2
 .. _nist: https://dx.doi.org/10.6028/NIST.SP.800-132
 .. _bcrypt: https://en.wikipedia.org/wiki/Bcrypt
-.. _`bcrypt library`: https://pypi.python.org/pypi/bcrypt/
-.. _`argon2-cffi library`: https://pypi.python.org/pypi/argon2_cffi/
+.. _`bcrypt library`: https://pypi.org/project/bcrypt/
+.. _`argon2-cffi library`: https://pypi.org/project/argon2_cffi/
 .. _argon2: https://en.wikipedia.org/wiki/Argon2
 .. _`Password Hashing Competition`: https://password-hashing.net
 

+ 2 - 2
docs/topics/cache.txt

@@ -79,8 +79,8 @@ After installing Memcached itself, you'll need to install a Memcached
 binding. There are several Python Memcached bindings available; the
 two most common are `python-memcached`_ and `pylibmc`_.
 
-.. _`python-memcached`: https://pypi.python.org/pypi/python-memcached
-.. _`pylibmc`: https://pypi.python.org/pypi/pylibmc
+.. _`python-memcached`: https://pypi.org/project/python-memcached/
+.. _`pylibmc`: https://pypi.org/project/pylibmc/
 
 To use Memcached with Django:
 

+ 3 - 3
docs/topics/external-packages.txt

@@ -14,7 +14,7 @@ and cultures.
 
 * `GitHub <https://github.com/django/django-localflavor>`__
 * `Documentation <https://django-localflavor.readthedocs.io/>`__
-* `PyPI <https://pypi.python.org/pypi/django-localflavor>`__
+* `PyPI <https://pypi.org/project/django-localflavor/>`__
 
 Comments
 ========
@@ -26,7 +26,7 @@ product like Disqus.
 
 * `GitHub <https://github.com/django/django-contrib-comments>`__
 * `Documentation <https://django-contrib-comments.readthedocs.io/>`__
-* `PyPI <https://pypi.python.org/pypi/django-contrib-comments>`__
+* `PyPI <https://pypi.org/project/django-contrib-comments/>`__
 
 Formtools
 =========
@@ -35,4 +35,4 @@ Formtools
 
 * `GitHub <https://github.com/django/django-formtools>`__
 * `Documentation <https://django-formtools.readthedocs.io/>`__
-* `PyPI <https://pypi.python.org/pypi/django-formtools>`__
+* `PyPI <https://pypi.org/project/django-formtools/>`__

+ 1 - 1
docs/topics/i18n/translation.txt

@@ -421,7 +421,7 @@ Working with lazy translation objects
 The result of a ``gettext_lazy()`` call can be used wherever you would use a
 string (a :class:`str` object) in other Django code, but it may not work with
 arbitrary Python code. For example, the following won't work because the
-`requests <https://pypi.python.org/pypi/requests/>`_ library doesn't handle
+`requests <https://pypi.org/project/requests/>`_ library doesn't handle
 ``gettext_lazy`` objects::
 
     body = gettext_lazy("I \u2764 Django")  # (unicode :heart:)

+ 1 - 1
docs/topics/logging.txt

@@ -648,7 +648,7 @@ Python logging module.
         subclass the :class:`~django.utils.log.AdminEmailHandler` class and
         override this method.
 
-.. _Sentry: https://pypi.python.org/pypi/sentry
+.. _Sentry: https://pypi.org/project/sentry/
 
 Filters
 -------

+ 1 - 1
docs/topics/testing/advanced.txt

@@ -716,4 +716,4 @@ For more options like annotated HTML listings detailing missed lines, see the
 `coverage.py`_ docs.
 
 .. _coverage.py: https://coverage.readthedocs.io/
-.. _install coverage.py: https://pypi.python.org/pypi/coverage
+.. _install coverage.py: https://pypi.org/project/coverage/

+ 1 - 1
docs/topics/testing/tools.txt

@@ -932,7 +932,7 @@ example above is just a tiny fraction of what the Selenium client can do; check
 out the `full reference`_ for more details.
 
 .. _Selenium: http://seleniumhq.org/
-.. _selenium package: https://pypi.python.org/pypi/selenium
+.. _selenium package: https://pypi.org/project/selenium/
 .. _full reference: https://selenium-python.readthedocs.io/api.html
 .. _Firefox: https://www.mozilla.com/firefox/
 

+ 1 - 1
tests/invalid_models_tests/test_ordinary_fields.py

@@ -590,7 +590,7 @@ class ImageFieldTests(SimpleTestCase):
         expected = [] if pillow_installed else [
             Error(
                 'Cannot use ImageField because Pillow is not installed.',
-                hint=('Get Pillow at https://pypi.python.org/pypi/Pillow '
+                hint=('Get Pillow at https://pypi.org/project/Pillow/ '
                       'or run command "pip install Pillow".'),
                 obj=field,
                 id='fields.E210',