Skip to content

Commit 7d35553

Browse files
bpo-35075: Fix broken url in the pprint documentation (GH-10201)
https://bugs.python.org/issue35075 (cherry picked from commit bf46a09) Co-authored-by: Pablo Galindo <[email protected]>
1 parent 5e0537c commit 7d35553

File tree

2 files changed

+150
-121
lines changed

2 files changed

+150
-121
lines changed

Doc/library/pprint.rst

Lines changed: 141 additions & 120 deletions
Original file line numberDiff line numberDiff line change
@@ -217,135 +217,156 @@ let's fetch information about a project from `PyPI <https://pypi.org>`_::
217217
>>> import json
218218
>>> import pprint
219219
>>> from urllib.request import urlopen
220-
>>> with urlopen('http://pypi.org/project/Twisted/json') as url:
221-
... http_info = url.info()
222-
... raw_data = url.read().decode(http_info.get_content_charset())
223-
>>> project_info = json.loads(raw_data)
220+
>>> with urlopen('https://pypi.org/pypi/sampleproject/json') as resp:
221+
... project_info = json.load(resp)['info']
224222

225223
In its basic form, :func:`pprint` shows the whole object::
226224

227225
>>> pprint.pprint(project_info)
228-
{'info': {'_pypi_hidden': False,
229-
'_pypi_ordering': 125,
230-
'author': 'Glyph Lefkowitz',
231-
'author_email': '[email protected]',
232-
'bugtrack_url': '',
233-
'cheesecake_code_kwalitee_id': None,
234-
'cheesecake_documentation_id': None,
235-
'cheesecake_installability_id': None,
236-
'classifiers': ['Programming Language :: Python :: 2.6',
237-
'Programming Language :: Python :: 2.7',
238-
'Programming Language :: Python :: 2 :: Only'],
239-
'description': 'An extensible framework for Python programming, with '
240-
'special focus\r\n'
241-
'on event-based network programming and multiprotocol '
242-
'integration.',
243-
'docs_url': '',
244-
'download_url': 'UNKNOWN',
245-
'home_page': 'http://twistedmatrix.com/',
246-
'keywords': '',
247-
'license': 'MIT',
248-
'maintainer': '',
249-
'maintainer_email': '',
250-
'name': 'Twisted',
251-
'package_url': 'http://pypi.org/project/Twisted',
252-
'platform': 'UNKNOWN',
253-
'release_url': 'http://pypi.org/project/Twisted/12.3.0',
254-
'requires_python': None,
255-
'stable_version': None,
256-
'summary': 'An asynchronous networking framework written in Python',
257-
'version': '12.3.0'},
258-
'urls': [{'comment_text': '',
259-
'downloads': 71844,
260-
'filename': 'Twisted-12.3.0.tar.bz2',
261-
'has_sig': False,
262-
'md5_digest': '6e289825f3bf5591cfd670874cc0862d',
263-
'packagetype': 'sdist',
264-
'python_version': 'source',
265-
'size': 2615733,
266-
'upload_time': '2012-12-26T12:47:03',
267-
'url': 'https://pypi.org/packages/source/T/Twisted/Twisted-12.3.0.tar.bz2'},
268-
{'comment_text': '',
269-
'downloads': 5224,
270-
'filename': 'Twisted-12.3.0.win32-py2.7.msi',
271-
'has_sig': False,
272-
'md5_digest': '6b778f5201b622a5519a2aca1a2fe512',
273-
'packagetype': 'bdist_msi',
274-
'python_version': '2.7',
275-
'size': 2916352,
276-
'upload_time': '2012-12-26T12:48:15',
277-
'url': 'https://pypi.org/packages/2.7/T/Twisted/Twisted-12.3.0.win32-py2.7.msi'}]}
226+
{'author': 'The Python Packaging Authority',
227+
'author_email': '[email protected]',
228+
'bugtrack_url': None,
229+
'classifiers': ['Development Status :: 3 - Alpha',
230+
'Intended Audience :: Developers',
231+
'License :: OSI Approved :: MIT License',
232+
'Programming Language :: Python :: 2',
233+
'Programming Language :: Python :: 2.6',
234+
'Programming Language :: Python :: 2.7',
235+
'Programming Language :: Python :: 3',
236+
'Programming Language :: Python :: 3.2',
237+
'Programming Language :: Python :: 3.3',
238+
'Programming Language :: Python :: 3.4',
239+
'Topic :: Software Development :: Build Tools'],
240+
'description': 'A sample Python project\n'
241+
'=======================\n'
242+
'\n'
243+
'This is the description file for the project.\n'
244+
'\n'
245+
'The file should use UTF-8 encoding and be written using '
246+
'ReStructured Text. It\n'
247+
'will be used to generate the project webpage on PyPI, and '
248+
'should be written for\n'
249+
'that purpose.\n'
250+
'\n'
251+
'Typical contents for this file would include an overview of '
252+
'the project, basic\n'
253+
'usage examples, etc. Generally, including the project '
254+
'changelog in here is not\n'
255+
'a good idea, although a simple "What\'s New" section for the '
256+
'most recent version\n'
257+
'may be appropriate.',
258+
'description_content_type': None,
259+
'docs_url': None,
260+
'download_url': 'UNKNOWN',
261+
'downloads': {'last_day': -1, 'last_month': -1, 'last_week': -1},
262+
'home_page': 'https://github.com/pypa/sampleproject',
263+
'keywords': 'sample setuptools development',
264+
'license': 'MIT',
265+
'maintainer': None,
266+
'maintainer_email': None,
267+
'name': 'sampleproject',
268+
'package_url': 'https://pypi.org/project/sampleproject/',
269+
'platform': 'UNKNOWN',
270+
'project_url': 'https://pypi.org/project/sampleproject/',
271+
'project_urls': {'Download': 'UNKNOWN',
272+
'Homepage': 'https://github.com/pypa/sampleproject'},
273+
'release_url': 'https://pypi.org/project/sampleproject/1.2.0/',
274+
'requires_dist': None,
275+
'requires_python': None,
276+
'summary': 'A sample Python project',
277+
'version': '1.2.0'}
278278

279279
The result can be limited to a certain *depth* (ellipsis is used for deeper
280280
contents)::
281281

282-
>>> pprint.pprint(project_info, depth=2)
283-
{'info': {'_pypi_hidden': False,
284-
'_pypi_ordering': 125,
285-
'author': 'Glyph Lefkowitz',
286-
'author_email': '[email protected]',
287-
'bugtrack_url': '',
288-
'cheesecake_code_kwalitee_id': None,
289-
'cheesecake_documentation_id': None,
290-
'cheesecake_installability_id': None,
291-
'classifiers': [...],
292-
'description': 'An extensible framework for Python programming, with '
293-
'special focus\r\n'
294-
'on event-based network programming and multiprotocol '
295-
'integration.',
296-
'docs_url': '',
297-
'download_url': 'UNKNOWN',
298-
'home_page': 'http://twistedmatrix.com/',
299-
'keywords': '',
300-
'license': 'MIT',
301-
'maintainer': '',
302-
'maintainer_email': '',
303-
'name': 'Twisted',
304-
'package_url': 'http://pypi.org/project/Twisted',
305-
'platform': 'UNKNOWN',
306-
'release_url': 'http://pypi.org/project/Twisted/12.3.0',
307-
'requires_python': None,
308-
'stable_version': None,
309-
'summary': 'An asynchronous networking framework written in Python',
310-
'version': '12.3.0'},
311-
'urls': [{...}, {...}]}
282+
>>> pprint.pprint(project_info, depth=1)
283+
{'author': 'The Python Packaging Authority',
284+
'author_email': '[email protected]',
285+
'bugtrack_url': None,
286+
'classifiers': [...],
287+
'description': 'A sample Python project\n'
288+
'=======================\n'
289+
'\n'
290+
'This is the description file for the project.\n'
291+
'\n'
292+
'The file should use UTF-8 encoding and be written using '
293+
'ReStructured Text. It\n'
294+
'will be used to generate the project webpage on PyPI, and '
295+
'should be written for\n'
296+
'that purpose.\n'
297+
'\n'
298+
'Typical contents for this file would include an overview of '
299+
'the project, basic\n'
300+
'usage examples, etc. Generally, including the project '
301+
'changelog in here is not\n'
302+
'a good idea, although a simple "What\'s New" section for the '
303+
'most recent version\n'
304+
'may be appropriate.',
305+
'description_content_type': None,
306+
'docs_url': None,
307+
'download_url': 'UNKNOWN',
308+
'downloads': {...},
309+
'home_page': 'https://github.com/pypa/sampleproject',
310+
'keywords': 'sample setuptools development',
311+
'license': 'MIT',
312+
'maintainer': None,
313+
'maintainer_email': None,
314+
'name': 'sampleproject',
315+
'package_url': 'https://pypi.org/project/sampleproject/',
316+
'platform': 'UNKNOWN',
317+
'project_url': 'https://pypi.org/project/sampleproject/',
318+
'project_urls': {...},
319+
'release_url': 'https://pypi.org/project/sampleproject/1.2.0/',
320+
'requires_dist': None,
321+
'requires_python': None,
322+
'summary': 'A sample Python project',
323+
'version': '1.2.0'}
312324

313325
Additionally, maximum character *width* can be suggested. If a long object
314326
cannot be split, the specified width will be exceeded::
315327

316-
>>> pprint.pprint(project_info, depth=2, width=50)
317-
{'info': {'_pypi_hidden': False,
318-
'_pypi_ordering': 125,
319-
'author': 'Glyph Lefkowitz',
320-
'author_email': '[email protected]',
321-
'bugtrack_url': '',
322-
'cheesecake_code_kwalitee_id': None,
323-
'cheesecake_documentation_id': None,
324-
'cheesecake_installability_id': None,
325-
'classifiers': [...],
326-
'description': 'An extensible '
327-
'framework for Python '
328-
'programming, with '
329-
'special focus\r\n'
330-
'on event-based network '
331-
'programming and '
332-
'multiprotocol '
333-
'integration.',
334-
'docs_url': '',
335-
'download_url': 'UNKNOWN',
336-
'home_page': 'http://twistedmatrix.com/',
337-
'keywords': '',
338-
'license': 'MIT',
339-
'maintainer': '',
340-
'maintainer_email': '',
341-
'name': 'Twisted',
342-
'package_url': 'http://pypi.org/project/Twisted',
343-
'platform': 'UNKNOWN',
344-
'release_url': 'http://pypi.org/project/Twisted/12.3.0',
345-
'requires_python': None,
346-
'stable_version': None,
347-
'summary': 'An asynchronous networking '
348-
'framework written in '
349-
'Python',
350-
'version': '12.3.0'},
351-
'urls': [{...}, {...}]}
328+
>>> pprint.pprint(project_info, depth=1, width=60)
329+
{'author': 'The Python Packaging Authority',
330+
'author_email': '[email protected]',
331+
'bugtrack_url': None,
332+
'classifiers': [...],
333+
'description': 'A sample Python project\n'
334+
'=======================\n'
335+
'\n'
336+
'This is the description file for the '
337+
'project.\n'
338+
'\n'
339+
'The file should use UTF-8 encoding and be '
340+
'written using ReStructured Text. It\n'
341+
'will be used to generate the project '
342+
'webpage on PyPI, and should be written '
343+
'for\n'
344+
'that purpose.\n'
345+
'\n'
346+
'Typical contents for this file would '
347+
'include an overview of the project, '
348+
'basic\n'
349+
'usage examples, etc. Generally, including '
350+
'the project changelog in here is not\n'
351+
'a good idea, although a simple "What\'s '
352+
'New" section for the most recent version\n'
353+
'may be appropriate.',
354+
'description_content_type': None,
355+
'docs_url': None,
356+
'download_url': 'UNKNOWN',
357+
'downloads': {...},
358+
'home_page': 'https://github.com/pypa/sampleproject',
359+
'keywords': 'sample setuptools development',
360+
'license': 'MIT',
361+
'maintainer': None,
362+
'maintainer_email': None,
363+
'name': 'sampleproject',
364+
'package_url': 'https://pypi.org/project/sampleproject/',
365+
'platform': 'UNKNOWN',
366+
'project_url': 'https://pypi.org/project/sampleproject/',
367+
'project_urls': {...},
368+
'release_url': 'https://pypi.org/project/sampleproject/1.2.0/',
369+
'requires_dist': None,
370+
'requires_python': None,
371+
'summary': 'A sample Python project',
372+
'version': '1.2.0'}

Doc/tools/susp-ignored.csv

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,9 +180,17 @@ library/pathlib,,:Program,>>> PureWindowsPath('c:Program Files/').anchor
180180
library/pdb,,:lineno,filename:lineno
181181
library/pickle,,:memory,"conn = sqlite3.connect("":memory:"")"
182182
library/posix,,`,"CFLAGS=""`getconf LFS_CFLAGS`"" OPT=""-g -O2 $CFLAGS"""
183-
library/pprint,,::,"'Programming Language :: Python :: 2 :: Only'],"
184183
library/pprint,,::,"'Programming Language :: Python :: 2.6',"
185184
library/pprint,,::,"'Programming Language :: Python :: 2.7',"
185+
library/pprint,225,::,"'classifiers': ['Development Status :: 3 - Alpha',"
186+
library/pprint,225,::,"'Intended Audience :: Developers',"
187+
library/pprint,225,::,"'License :: OSI Approved :: MIT License',"
188+
library/pprint,225,::,"'Programming Language :: Python :: 2',"
189+
library/pprint,225,::,"'Programming Language :: Python :: 3',"
190+
library/pprint,225,::,"'Programming Language :: Python :: 3.2',"
191+
library/pprint,225,::,"'Programming Language :: Python :: 3.3',"
192+
library/pprint,225,::,"'Programming Language :: Python :: 3.4',"
193+
library/pprint,225,::,"'Topic :: Software Development :: Build Tools'],"
186194
library/profile,,:lineno,filename:lineno(function)
187195
library/pyexpat,,:elem1,<py:elem1 />
188196
library/pyexpat,,:py,"xmlns:py = ""http://www.python.org/ns/"">"

0 commit comments

Comments
 (0)