Commit Graph

266 Commits

Author SHA1 Message Date
Larry Hastings
5c66189e88 Issue #20189: Four additional builtin types (PyTypeObject,
PyMethodDescr_Type, _PyMethodWrapper_Type, and PyWrapperDescr_Type)
have been modified to provide introspection information for builtins.
Also: many additional Lib, test suite, and Argument Clinic fixes.
2014-01-24 06:17:25 -08:00
Eric Snow
3a62d14b24 Issue #19703: Update pydoc to use the new importer APIs. 2014-01-06 20:42:59 -07:00
Eric Snow
aed5b22ead Issue 20123: Fix pydoc.synopsis() for "binary" modules.
Also add missing tests to test_pydoc.
2014-01-04 20:38:11 -07:00
Larry Hastings
44e2eaab54 Issue #19674: inspect.signature() now produces a correct signature
for some builtins.
2013-11-23 15:37:55 -08:00
Eric Snow
b523f8433a Implement PEP 451 (ModuleSpec). 2013-11-22 09:05:39 -07:00
Ethan Furman
b0c84cdaac Issue #19030: final pieces for proper location of various class attributes located in the metaclass.
Okay, hopefully the very last patch for this issue.  :/

I realized when playing with Enum that the metaclass attributes weren't always displayed properly.

New patch properly locates DynamicClassAttributes, virtual class attributes (returned by __getattr__ and friends), and metaclass class attributes (if they are also in the metaclass __dir__ method).

Also had to change one line in pydoc to get this to work.

Added tests in test_inspect and test_pydoc to cover these situations.
2013-10-20 22:37:39 -07:00
Brett Cannon
1448ecf470 Issue #18716: Deprecate the formatter module 2013-10-04 11:38:59 -04:00
Brett Cannon
679ecb565b Issue #15767: back out 8a0ed9f63c6e, finishing the removal of
ModuleNotFoundError.
2013-07-04 17:51:50 -04:00
Brett Cannon
cd171c8e92 Issue #18200: Back out usage of ModuleNotFoundError (8d28d44f3a9a) 2013-07-04 17:43:24 -04:00
Brett Cannon
f4ba4ec160 Issue #17177: Stop using imp in pydoc 2013-06-15 14:25:04 -04:00
Brett Cannon
0a140668fa Issue #18200: Update the stdlib (except tests) to use
ModuleNotFoundError.
2013-06-13 20:57:26 -04:00
Brett Cannon
b1611e2772 Issue #15767: Introduce ModuleNotFoundError, a subclass of
ImportError.

The exception is raised by import when a module could not be found.
Technically this is defined as no viable loader could be found for the
specified module. This includes ``from ... import`` statements so that
the module usage is consistent for all situations where import
couldn't find what was requested.

This should allow for the common idiom of::

  try:
    import something
  except ImportError:
    pass

to be updated to using ModuleNotFoundError and not accidentally mask
ImportError messages that should propagate (e.g. issues with a
loader).

This work was driven by the fact that the ``from ... import``
statement needed to be able to tell the difference between an
ImportError that simply couldn't find a module (and thus silence the
exception so that ceval can raise it) and an ImportError that
represented an actual problem.
2013-06-12 16:59:46 -04:00
Brett Cannon
d5e6f2e200 Issue #18157: stop using imp.load_module() in imp. 2013-06-11 17:09:36 -04:00
Ezio Melotti
72b8502992 #11182: remove the unused and undocumented pydoc.Scanner class. Patch by Martin Morrison. 2013-04-19 02:53:12 +03:00
R David Murray
ac0cea5fab Merge: #17476: make allmethods actually return all methods.
This fixes a regression relative to Python2.  (In 2, methods on a class were
unbound methods and matched the inspect queries being done, in 3 they are just
functions and so were missed).

This is an undocumented function that pydoc itself does not use, but
I found that numpy at least uses it in its documentation generator.

Original patch by Matt Bachmann.
2013-03-19 02:47:44 -04:00
Giampaolo Rodola'
2f50aaf2ff modernize some modules' code by using with statement around open() 2013-02-12 02:04:27 +01:00
Terry Jan Reedy
3420057adb Closes #17158: Add 'symbols' to help() welcome message; clarify 'modules spam'
messages.
2013-02-11 02:23:13 -05:00
Andrew Svetlov
f7a17b48d7 Replace IOError with OSError (#16715) 2012-12-25 16:47:37 +02:00
Benjamin Peterson
29e02a2be8 merge 3.3 2012-10-09 11:16:13 -04:00
Benjamin Peterson
b29614e047 compare singletons by identity not equality (closes #16712)
Patch from Serhiy Storchaka.
2012-10-09 11:16:03 -04:00
Jesus Cea
4791a24268 #16135: Removal of OS/2 support (Python code partial cleanup) 2012-10-05 03:15:39 +02:00
Brett Cannon
d340b43d75 Issue #15163: Pydoc shouldn't show __loader__ as a part of a module's
data.

Also alphabetized the attributes in the blacklist to make it easier to
detect changes.

Initial patch by Éric Araujo.
2012-08-06 17:19:22 -04:00
Nick Coghlan
9deaa06fe1 Issue #9319: Remove the workaround for this since fixed problem from pydoc 2012-07-15 22:17:02 +10:00
Nick Coghlan
2824cb507d Issue #15343: A lot more than just unicode decoding can go wrong when retrieving a source file 2012-07-15 22:12:14 +10:00
Georg Brandl
c645c6ada1 Closes #15162: the meaning of "online" has shifted a bit in recent years, use "interactive" instead. 2012-06-24 17:24:26 +02:00
Vinay Sajip
7ded1f0f69 Implemented PEP 405 (Python virtual environments). 2012-05-26 03:45:29 +01:00
Antoine Pitrou
ea3eb88bca Issue #9260: A finer-grained import lock.
Most of the import sequence now uses per-module locks rather than the
global import lock, eliminating well-known issues with threads and imports.
2012-05-17 18:55:59 +02:00
Brett Cannon
cb66eb0dec Issue #13959: Deprecate imp.get_suffixes() for new attributes on
importlib.machinery that provide the suffix details for import.
The attributes were not put on imp so as to compartmentalize
everything importlib needs for setting up imports in
importlib.machinery.

This also led to an indirect deprecation of inspect.getmoduleinfo() as
it directly returned imp.get_suffix's returned tuple which no longer
makes sense.
2012-05-11 12:58:42 -04:00
R David Murray
a82c960c17 merge #14638: pydoc now treats non-str __name__ as None instead of raising
Original patch by Peter Otten.
2012-04-23 13:26:44 -04:00
R David Murray
c43125a05c #14638: pydoc now treats non-str __name__ as None instead of raising
Original patch by Peter Otten.
2012-04-23 13:23:57 -04:00
Brett Cannon
fd0741555b Issue #2377: Make importlib the implementation of __import__().
importlib._bootstrap is now frozen into Python/importlib.h and stored
as _frozen_importlib in sys.modules. Py_Initialize() loads the frozen
code along with sys and imp and then uses _frozen_importlib._install()
to set builtins.__import__() w/ _frozen_importlib.__import__().
2012-04-14 14:10:13 -04:00
R David Murray
8613b0dea4 Merge #14434: make tutorial link in 'help' banner version-specific
Without this fix, both 2.7 and 3.x would always point to the "current"
docs...which means that before this fix python 3.2 'help' pointed to the 2.7
tutorial.
2012-03-31 12:08:59 -04:00
R David Murray
de0f6297a7 #14434: make tutorial link in 'help' banner version-specific
Without this fix, both 2.7 and 3.x would always point to the "current"
docs...which means that before this fix python 3.2 'help' pointed to the 2.7
tutorial.
2012-03-31 12:06:35 -04:00
Antoine Pitrou
86a8a9ae98 Issue #1785: Fix inspect and pydoc with misbehaving descriptors.
Also fixes issue #13581: `help(type)` wouldn't display anything.
2011-12-21 09:57:40 +01:00
Antoine Pitrou
12f65d1fef Issue #1785: Fix inspect and pydoc with misbehaving descriptors.
Also fixes issue #13581: `help(type)` wouldn't display anything.
2011-12-21 09:59:49 +01:00
Antoine Pitrou
86a36b500a PEP 3155 / issue #13448: Qualified name for classes and functions. 2011-11-25 18:56:07 +01:00
Florent Xicluna
aabbda5354 Merge 3.2 2011-10-28 14:52:29 +02:00
Florent Xicluna
5d1155c08e Closes #13258: Use callable() built-in in the standard library. 2011-10-28 14:45:05 +02:00
Éric Araujo
4c3124c2b9 Merge 3.2 2011-09-12 17:41:24 +02:00
Éric Araujo
647ef8cd68 Wrap pydoc output under 80 characters 2011-09-11 00:43:20 +02:00
Éric Araujo
c473f8ceac Merge fix for #8887 from 3.2 2011-07-29 17:38:23 +02:00
Éric Araujo
e64e51bfa7 Make “pydoc somebuiltin.somemethod” work (#8887) 2011-07-29 17:03:55 +02:00
Charles-François Natali
7a2f0c7802 Issue #12603: Fix pydoc.synopsis() on files with non-negative st_mtime. 2011-07-27 19:42:05 +02:00
Charles-François Natali
27c4e88552 Issue #12603: Fix pydoc.synopsis() on files with non-negative st_mtime. 2011-07-27 19:40:02 +02:00
Victor Stinner
d7772bc4cb (merge 3.2) Issue #12451: pydoc: html_getfile() now uses tokenize.open() to
support Python scripts using a encoding different than UTF-8 (read the coding
cookie of the script).
2011-07-05 14:31:28 +02:00
Victor Stinner
91e08772a6 Issue #12451: pydoc: html_getfile() now uses tokenize.open() to support Python
scripts using a encoding different than UTF-8 (read the coding cookie of the
script).
2011-07-05 14:30:41 +02:00
Victor Stinner
5f9a995ad7 (merge 3.2) Issue #12451: pydoc: importfile() now opens the Python script in
binary mode, instead of text mode using the locale encoding, to avoid encoding
issues.
2011-07-04 02:09:44 +02:00
Victor Stinner
e975af62f2 Issue #12451: pydoc: importfile() now opens the Python script in binary mode,
instead of text mode using the locale encoding, to avoid encoding issues.
2011-07-04 02:08:50 +02:00
Victor Stinner
319672e8a6 (merge 3.2) Issue #12451: pydoc.synopsis() now reads the encoding cookie if
available, to read the Python script from the right encoding.
2011-06-30 15:58:29 +02:00
Victor Stinner
e6c910e953 Issue #12451: pydoc.synopsis() now reads the encoding cookie if available, to
read the Python script from the right encoding.
2011-06-30 15:55:43 +02:00