summaryrefslogtreecommitdiffstats
path: root/Lib/inspect.py
Commit message (Collapse)AuthorAgeFilesLines
* Issue #4050: inspect.findsource/getsource now raise an IOError if the 'source'R. David Murray2009-05-131-1/+3
| | | | file is a binary. Patch by Brodie Rao, test by Daniel Diniz.
* fix inspect.isclass() on instances with a custom __getattr__ #1225107Benjamin Peterson2009-01-171-1/+1
|
* use enumerateBenjamin Peterson2009-01-171-2/+2
|
* #1162154: inspect.getmembers() now skips attributes that raise AttributeError,Amaury Forgeot d'Arc2009-01-131-1/+4
| | | | e.g. a __slots__ attribute which has not been set.
* simplfy codeBenjamin Peterson2009-01-011-4/+2
|
* #4795 inspect.isgeneratorfunction() should return False instead of NoneBenjamin Peterson2008-12-311-0/+1
|
* return ArgInfo from inspect.getargvalues #4092Benjamin Peterson2008-10-211-1/+1
|
* Remove an unneeded import of abc.ABCMeta from 'inspect'.Brett Cannon2008-08-181-1/+0
|
* Silence (Syntax|Deprecation)Warning for 'inspect'. Had to remove tupleBrett Cannon2008-08-011-5/+9
| | | | | unpacking in a parameter list and set some constants by hand that were pulled from the 'compiler' package.
* Factor out docstring dedenting from inspect.getdoc() into inspect.cleandoc()Georg Brandl2008-06-071-0/+7
| | | | to ease standalone use of the algorithm.
* Prevent an error when inspect.isabstract() is called with something else ↵Amaury Forgeot d'Arc2008-04-081-1/+1
| | | | than a new-style class.
* Since abc._Abstract was replaces by a new type flags the regression test ↵Christian Heimes2008-03-031-0/+8
| | | | suite fails. I've added a new function inspect.isabstract(). Is the mmethod fine or should I check if object is a instance of type or subclass of object, too?
* Issue #1916. Added isgenerator() and isgeneratorfunction() toFacundo Batista2008-02-181-6/+45
| | | | | inspect.py. Thanks Javi Mansilla for patch review and corrections.
* Let most inspect functions return named tuplesRaymond Hettinger2008-01-111-5/+19
|
* Patch #1739696: use code.co_code only if really necessaryGeorg Brandl2007-07-121-4/+3
|
* Bug #1550524: better heuristics to find correct class definitionGeorg Brandl2006-10-121-2/+17
| | | | in inspect.findsource().
* Fix the speed regression in inspect.py by adding another cache to speed up ↵Nick Coghlan2006-09-071-2/+17
| | | | getmodule(). Patch #1553314
* Whitespace normalization.Tim Peters2006-07-271-1/+1
|
* Patch #1520294: Support for getset and member descriptors in types.py,Barry Warsaw2006-07-271-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | inspect.py, and pydoc.py. Specifically, this allows for querying the type of an object against these built-in C types and more importantly, for getting their docstrings printed in the interactive interpreter's help() function. This patch includes a new built-in module called _types which provides definitions of getset and member descriptors for use by the types.py module. These types are exposed as types.GetSetDescriptorType and types.MemberDescriptorType. Query functions are provided as inspect.isgetsetdescriptor() and inspect.ismemberdescriptor(). The implementations of these are robust enough to work with Python implementations other than CPython, which may not have these fundamental types. The patch also includes documentation and test suite updates. I commit these changes now under these guiding principles: 1. Silence is assent. The release manager has not said "no", and of the few people that cared enough to respond to the thread, the worst vote was "0". 2. It's easier to ask for forgiveness than permission. 3. It's so dang easy to revert stuff in svn, that you could view this as a forcing function. :) Windows build patches will follow.
* Fix SF#1516184 (again) and add a test to prevent regression.Phillip J. Eby2006-07-201-2/+3
| | | | (There was a problem with empty filenames still causing recursion)
* Fix SF#1516184 and add a test to prevent regression.Phillip J. Eby2006-07-101-12/+9
|
* Fix another problem in inspect: if the module for an object cannot be found, ↵Georg Brandl2006-04-301-1/+5
| | | | don't try to give its __dict__ to linecache.
* Fix infinite regress when inspecting <string> or <stdin> frames.Phillip J. Eby2006-04-301-1/+7
|
* Add whitespace after commaNeal Norwitz2006-04-111-1/+1
|
* Updated the warnings, linecache, inspect, traceback, site, and doctest modulesPhillip J. Eby2006-04-111-3/+3
| | | | | to work correctly with modules imported from zipfiles or via other PEP 302 __loader__ objects. Tests and doc updates are included.
* some more fixes and tests for inspect.getsource(), triggered by crashesArmin Rigo2005-09-251-27/+20
| | | | from the PyPy project as well as the SF bug #1295909.
* Patch #1159931/bug #1143895: inspect.getsource failed when functions,Johannes Gijsbers2005-03-121-5/+5
| | | | | | etc., had comments after the colon, and some other cases. This patch take a simpler approach that doesn't rely on looking for a ':'. Thanks Simon Percivall!
* Apply itemgetter() instead of lambda.Raymond Hettinger2005-03-111-1/+2
|
* Replace list of constants with tuples of constants.Raymond Hettinger2005-02-061-5/+5
|
* Patch #1011890: fix inspect.getsource breaking with line-continuation &Johannes Gijsbers2004-12-121-4/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | more. Thanks to Simon Percivall! The patch makes changes to inspect.py in two places: * the pattern to match against functions at line 436 is modified: lambdas should be matched even if not preceded by whitespace, as long as "lambda" isn't part of another word. * the BlockFinder class is heavily modified. Changes are: - checking for "def", "class" or "lambda" names before setting self.started to True. Then checking the same line for word characters after the colon (if the colon is on that line). If so, and the line does not end with a line continuation marker, raise EndOfBlock immediately. - adding self.passline to show that the line is to be included and no more checking is necessary on that line. Since a NEWLINE token is not generated when a line continuation marker exists, this allows getsource to continue with these functions even if the following line would not be indented. Also add a bunch of 'quite-unlikely-to-occur-in-real-life-but-working-anyway' tests.
* Import no longer needed.Raymond Hettinger2004-09-201-1/+0
|
* Raymond reminded me to use DSU keySkip Montanaro2004-09-201-2/+1
|
* Sort classes by fully qualified name. In the common case where you areSkip Montanaro2004-09-201-1/+2
| | | | | | displaying a set of classes from one module it doesn't matter, but if you are displaying a large class tree from multiple modules it improves the display to sort by module.name.
* Use __module__ attribute when available instead of using isclass() predicateJohannes Gijsbers2004-09-111-1/+1
| | | | (functions and methods have grown the __module__ attribute too). See bug #570300.
* Patch #1006219: let inspect.getsource show '@' decorators and add tests forJohannes Gijsbers2004-08-181-2/+3
| | | | | this (which are rather ugly, but it'll have to do until test_inspect gets a major overhaul and a conversion to unittest). Thanks Simon Percivall!
* - Bug #891637, patch #1005466: fix inspect.getargs() crash on def foo((bar)).Matthias Klose2004-08-151-7/+15
|
* 'inspect' was not listing the functions in a module properly if the module wasBrett Cannon2004-08-131-1/+3
| | | | | | | | reached through a symlink (was comparing path of module to path to function and were not matching because of the symlink). os.path.realpath() is now used to solve this discrepency. Closes bug #570300. Thanks Johannes Gijsbers for the fix.
* SF bug #973092: inspect.getframeinfo bug if 'context' is to bigRaymond Hettinger2004-06-151-1/+1
| | | | Make sure the start argument is not negative.
* [Bug #954364] inspect.getframeinfo() sometimes produces incorrect traceback ↵Andrew M. Kuchling2004-06-051-1/+3
| | | | line #s; fix is to look at tb.tb_lineno, not tb.frame.f_lineno. Patch from Robin Becker and me.
* Apply extract functions instead of lambda.Raymond Hettinger2003-12-011-1/+2
|
* Let library modules use the new keyword arguments for list.sort().Raymond Hettinger2003-10-161-1/+1
|
* Whitespace normalization.Tim Peters2003-06-291-1/+1
|
* A bit o' reformatting and removal of non-_getframe currentframe().Jeremy Hylton2003-06-271-19/+14
|
* Fix for SF bug 620190: getargspec() doesn't work with methods.Jeremy Hylton2003-06-271-3/+10
|
* Return None to signal that the module the object was defined in was not ↵Brett Cannon2003-06-151-0/+2
| | | | found when object has no __name__ attr but is needed to figure out location of object.
* Patch #711902: Cause pydoc to show data descriptor __doc__ strings.Martin v. Löwis2003-05-031-0/+10
|
* Make module lookup a little more robust (certain kinds of fiddling toKa-Ping Yee2003-03-281-2/+2
| | | | sys.modules previously produced an exception).
* SF patch #634557: inspect.BlockFinder didn't do a good enough job findingRaymond Hettinger2003-01-191-0/+2
| | | | | | the end of code blocks. Patch contributed by Patrick O'Brien.
* SF bug #661184: inspect.getsource bugRaymond Hettinger2003-01-141-1/+3
| | | | | | | inspect.getsource would crash with one line definitions like: def f(x): return x or f = lambda x: x
* getdoc():Ka-Ping Yee2002-11-301-6/+14
| | | | | | Remove leading whitespace from first line; remove leading and trailing blank lines from docstrings. (Patch 645938 submitted by David Goodger.)