summaryrefslogtreecommitdiffstats
path: root/Lib/modulefinder.py
Commit message (Collapse)AuthorAgeFilesLines
* closes bpo-31650: PEP 552 (Deterministic pycs) implementation (#4575)Benjamin Peterson2017-12-091-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | Python now supports checking bytecode cache up-to-dateness with a hash of the source contents rather than volatile source metadata. See the PEP for details. While a fairly straightforward idea, quite a lot of code had to be modified due to the pervasiveness of pyc implementation details in the codebase. Changes in this commit include: - The core changes to importlib to understand how to read, validate, and regenerate hash-based pycs. - Support for generating hash-based pycs in py_compile and compileall. - Modifications to our siphash implementation to support passing a custom key. We then expose it to importlib through _imp. - Updates to all places in the interpreter, standard library, and tests that manually generate or parse pyc files to grok the new format. - Support in the interpreter command line code for long options like --check-hash-based-pycs. - Tests and documentation for all of the above.
* Remove unused imports.Serhiy Storchaka2016-12-161-1/+0
|
* Issue #26881: The modulefinder module now supports extended opcode arguments.Serhiy Storchaka2016-05-081-26/+17
|\
| * Issue #26881: The modulefinder module now supports extended opcode arguments.Serhiy Storchaka2016-05-081-27/+18
| |
* | Issue #26647: Cleanup modulefinderVictor Stinner2016-04-121-5/+5
| | | | | | | | | | | | Use directly dis.opmap[name] rather than dis.opname.index(name). Patch written by Demur Rumed.
* | Issue #25487: Fix tests not updated when the imp module moved to aBrett Cannon2015-10-301-1/+1
|/ | | | | | DeprecationWarning. Thanks to Martin Panter for finding the tests.
* Issue #23911: Move path-based bootstrap code to a separate frozen module.Eric Snow2015-05-031-2/+2
|
* Issue #23731: Implement PEP 488.Brett Cannon2015-04-131-1/+1
| | | | | | The concept of .pyo files no longer exists. Now .pyc files have an optional `opt-` tag which specifies if any extra optimizations beyond the peepholer were applied.
* Issue #21707: Add missing kwonlyargcount argument to ↵Berker Peksag2014-07-071-5/+6
| | | | ModuleFinder.replace_paths_in_code().
* merge for issue #20778Brett Cannon2014-02-281-5/+7
|\
| * Issue #20778: Fix modulefinder to work with bytecode-only modules.Brett Cannon2014-02-281-1/+1
| | | | | | | | Bug filed and initial attempt at a patch by Bohuslav Kabrda.
* | Issue #20315: Removed support for backward compatibility with early 2.x ↵Serhiy Storchaka2014-01-201-28/+1
|\ \ | |/ | | | | | | | | | | versions. Removed backward compatibility alias curses.window.nooutrefresh which should be removed in 2.3.
| * Issue #20315: Removed support for backward compatibility with early 2.x ↵Serhiy Storchaka2014-01-201-28/+1
| | | | | | | | versions.
* | #18705: merge with 3.3.Ezio Melotti2013-08-171-1/+1
|\ \ | |/
| * #18705: fix a number of typos. Patch by Févry Thibault.Ezio Melotti2013-08-171-1/+1
| |
* | Issue #17177: The imp module is pending deprecation.Brett Cannon2013-06-161-1/+4
| | | | | | | | | | | | To make sure there is no issue with code that is both Python 2 and 3 compatible, there are no plans to remove the module any sooner than Python 4 (unless the community moves to Python 3 solidly before then).
* | merge with 3.3Brett Cannon2012-12-231-0/+1
|\ \ | |/
| * Issue #16752: Add a missing import to modulefinder.Brett Cannon2012-12-231-0/+1
| | | | | | | | | | | | | | Also fix Misc/ACKS to put part of it back in alphabetical order and remove some duplicate names. Patch by Berker Peksag.
* | Issue #16706: get rid of os.errorAndrew Svetlov2012-12-181-1/+1
|/
* Issue #13959: Deprecate imp.get_suffixes() for new attributes onBrett Cannon2012-05-111-2/+3
| | | | | | | | | | | 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.
* Fix bug I unwittingly added in 1521d9837d16 (found by Ezio Melotti)Éric Araujo2011-08-011-2/+1
|
* Modernize modulefinder module and tests a bit.Éric Araujo2011-07-281-9/+6
| | | | | | The tests don’t use an internal distutils function anymore, and use regular assertEqual with sorted lists instead of a convoluted manual diff.
* merge 11164Martin v. Löwis2011-05-091-3/+4
|\
| * Stop trying to use _xmlplus in the xml module. Closes #11164.Martin v. Löwis2011-05-091-3/+4
| | | | | | | | Patch by Arfrever Frehtes Taifersar Arahesis.
* | Silence ResourceWarnings in modulefinder by using file context managers.Brett Cannon2010-10-301-9/+13
|/
* no 2.3 compat in the py3k lib #3676Benjamin Peterson2009-02-161-6/+1
|
* Merged revisions 67028,67040,67044,67046,67052,67065,67070,67077,67082 via ↵Benjamin Peterson2008-11-031-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r67028 | benjamin.peterson | 2008-10-25 18:27:07 -0500 (Sat, 25 Oct 2008) | 1 line don't use a catch-all ........ r67040 | armin.rigo | 2008-10-28 12:01:21 -0500 (Tue, 28 Oct 2008) | 5 lines Fix one of the tests: it relied on being present in an "output test" in order to actually test what it was supposed to test, i.e. that the code in the __del__ method did not crash. Use instead the new helper test_support.captured_output(). ........ r67044 | amaury.forgeotdarc | 2008-10-29 18:15:57 -0500 (Wed, 29 Oct 2008) | 3 lines Correct error message in io.open(): closefd=True is the only accepted value with a file name. ........ r67046 | thomas.heller | 2008-10-30 15:18:13 -0500 (Thu, 30 Oct 2008) | 2 lines Fixed a modulefinder crash on certain relative imports. ........ r67052 | christian.heimes | 2008-10-30 16:26:15 -0500 (Thu, 30 Oct 2008) | 1 line Issue #4237: io.FileIO() was raising invalid warnings caused by insufficient initialization of PyFileIOObject struct members. ........ r67065 | benjamin.peterson | 2008-10-30 18:59:18 -0500 (Thu, 30 Oct 2008) | 1 line move unprefixed error into .c file ........ r67070 | benjamin.peterson | 2008-10-31 15:41:44 -0500 (Fri, 31 Oct 2008) | 1 line rephrase has_key doc ........ r67077 | benjamin.peterson | 2008-11-03 09:14:51 -0600 (Mon, 03 Nov 2008) | 1 line #4048 make the parser module accept relative imports as valid ........ r67082 | hirokazu.yamamoto | 2008-11-03 12:03:06 -0600 (Mon, 03 Nov 2008) | 2 lines Issue #3774: Fixed an error when create a Tkinter menu item without command and then remove it. Written by Guilherme Polo (gpolo). ........
* Merged revisions 59193-59201 via svnmerge fromChristian Heimes2007-11-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | svn+ssh://pythondev@svn.python.org/python/trunk ........ r59195 | facundo.batista | 2007-11-27 19:50:12 +0100 (Tue, 27 Nov 2007) | 4 lines Moved the errno import from inside the functions to the module level. Fixes issue 1755179. ........ r59199 | christian.heimes | 2007-11-27 22:28:40 +0100 (Tue, 27 Nov 2007) | 1 line Backport of changes to PCbuild9 from the py3k branch ........ r59200 | christian.heimes | 2007-11-27 22:34:01 +0100 (Tue, 27 Nov 2007) | 1 line Replaced import of the 'new' module with 'types' module and added a deprecation warning to the 'new' module. ........ r59201 | christian.heimes | 2007-11-27 22:35:44 +0100 (Tue, 27 Nov 2007) | 1 line Added a deprecation warning to the 'new' module. ........
* Merging the py3k-pep3137 branch back into the py3k branch.Guido van Rossum2007-11-061-6/+6
| | | | | | | | | | | | | | No detailed change log; just check out the change log for the py3k-pep3137 branch. The most obvious changes: - str8 renamed to bytes (PyString at the C level); - bytes renamed to buffer (PyBytes at the C level); - PyString and PyUnicode are no longer compatible. I.e. we now have an immutable bytes type and a mutable bytes type. The behavior of PyString was modified quite a bit, to make it more bytes-like. Some changes are still on the to-do list.
* Patch #1303: Adapt str8 constructor to bytes (now buffer) one.Georg Brandl2007-10-241-6/+6
|
* Make str/str8 comparisons return True/False for !=/==.Brett Cannon2007-10-221-6/+7
| | | | | | | | | | | | | | | Code that has been returning str8 becomes much more apparent thanks to this (e.g., struct module returning str8 for all string-related formats or sqlite3 passing in str8 instances when converting objects that had a __conform__ method). One also has to watch out in C code when making a key from char * using PyString in the C code but a str instance in Python code as that will not longer compare equal. Once str8 gains a constructor like the current bytes type then test_modulefinder needs a cleanup as the fix is a little messy in that file. Thanks goes to Thomas Lee for writing the patch for the change giving an initial run-down of why most of the tests were failing.
* Patch 1280, by Alexandre Vassalotti.Guido van Rossum2007-10-191-1/+1
| | | | | Make PyString's indexing and iteration return integers. (I changed a few of Alexandre's decisions -- GvR.)
* Raise statement normalization in Lib/.Collin Winter2007-08-301-6/+6
|
* Some quick fixes of code that was sorting dict.keys() etc.Guido van Rossum2007-06-121-6/+3
|
* Merged revisions 55328-55341 via svnmerge fromGuido van Rossum2007-05-151-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | svn+ssh://pythondev@svn.python.org/python/branches/p3yk ........ r55329 | brett.cannon | 2007-05-14 16:36:56 -0700 (Mon, 14 May 2007) | 3 lines Implement the removal of tuple parameter unpacking (PEP 3113). Thanks, Tony Lownds for the patch. ........ r55331 | neal.norwitz | 2007-05-14 16:40:30 -0700 (Mon, 14 May 2007) | 1 line Update to use Python 3.0 ........ r55332 | brett.cannon | 2007-05-14 16:47:18 -0700 (Mon, 14 May 2007) | 2 lines Mention PEP 3113. And thanks to Tony Lownds for the PEP 3113 patch. ........ r55333 | neal.norwitz | 2007-05-14 16:57:06 -0700 (Mon, 14 May 2007) | 1 line Fix exception printing (no more exceptions module) ........ r55334 | neal.norwitz | 2007-05-14 17:11:10 -0700 (Mon, 14 May 2007) | 1 line Remove popen* functions from os ........ r55335 | neal.norwitz | 2007-05-14 18:03:38 -0700 (Mon, 14 May 2007) | 1 line Get rid of most of popen. There are still some uses I need to cleanup. ........ r55336 | neal.norwitz | 2007-05-14 21:11:34 -0700 (Mon, 14 May 2007) | 1 line Remove a few more remnants of the compiler package ........ r55337 | neal.norwitz | 2007-05-14 22:28:27 -0700 (Mon, 14 May 2007) | 1 line Get test_[cx]pickle working on 64-bit platforms (avoid overflow int/long) ........
* Fix most trivially-findable print statements.Guido van Rossum2007-02-091-21/+21
| | | | | | | | | There's one major and one minor category still unfixed: doctests are the major category (and I hope to be able to augment the refactoring tool to refactor bona fide doctests soon); other code generating print statements in strings is the minor category. (Oh, and I don't know if the compiler package works.)
* SF patch 1631942 by Collin Winter:Guido van Rossum2007-01-101-3/+3
| | | | | | (a) "except E, V" -> "except E as V" (b) V is now limited to a simple name (local variable) (c) V is now deleted at the end of the except block
* Thomas Heller fixed modulefinder and added a test. Thanks!Guido van Rossum2006-10-271-37/+105
|
* Get rid of dict.has_key(). Boy this has a lot of repercussions!Guido van Rossum2006-08-181-2/+2
| | | | | | Not all code has been fixed yet; this is just a checkpoint... The C API still has PyDict_HasKey() and _HasKeyString(); not sure if I want to change those just yet.
* Fix SF item #876278: Unbounded recursion in modulefinder.Thomas Heller2004-05-111-0/+4
| | | | Already backported to release23-maint.
* Fix typo.Neil Schemenauer2004-02-151-1/+1
|
* Replace backticks with repr() or "%r"Walter Dörwald2004-02-121-4/+4
| | | | From SF patch #852334.
* SF #841977 - modulefinder fails to find extension modules in packagesThomas Heller2003-11-141-1/+6
| | | | | | | | | | | The find_all_submodules() method in modulefinder only looks for *.py, *.pyc, and *.pyo files. Python extension modules are only found if they are referenced in import statements somewhere. This patch uses the actual list from imp.get_suffixes(). Backported myself.
* up the b/w compatibility requirement to 2.2Just van Rossum2003-07-181-1/+1
|
* Patch #698082 from Thomas Heller: Modulefinder didn't exclude modulesJust van Rossum2003-03-051-4/+4
| | | | in packages correctly.
* Get rid of many apply() calls.Guido van Rossum2003-02-271-2/+2
|
* removed bizarre construct, no idea why it was there...Just van Rossum2003-02-011-1/+0
|
* Whitespace normalization.Tim Peters2003-01-291-3/+3
|
* patch attached to sf item #643711:Just van Rossum2002-12-311-49/+150
| | | | | | | | | | | | | | | | | | | | | any_missing() returns less bogus missing modules. - I've rewritten scan_code() more or less from scratch, factored bits and pieces out for readability. - keep track of global assignments and failed imports per module; use this to determine whether the Y in "from X import Y" is a submodule or just a global name. This is not 100% doable: you can't tell which symbols are imported when doing a star import of a non-Python module short of actually importing it. - added a new method to ModuleFinder: any_missing_maybe(), which returns *two* lists, one with certain misses, one with possible misses. The possible misses are *very* often false alarms, so it's useful to keep this list separate. any_misses() now simply returns the union of any_missing_maybe(). TODO: documentation, test_modulefinder.py
* moving modulefinder.py to the standard libraryJust van Rossum2002-12-311-0/+486