Benjamin Peterson
7701e6ef93
make some freezing related stuff const
2013-03-13 14:06:39 -05:00
Brett Cannon
4802becb16
Issue #17117 : Have both import itself and importlib.util.set_loader()
...
set __loader__ on a module when set to None.
Thanks to Gökcen Eraslan for the fix.
2013-03-13 10:41:36 -07:00
Brett Cannon
c190389834
Issue #17220 : two fixes for changeset 2528e4aea338.
...
First, because the mtime can exceed 4 bytes, make sure to mask it down to 4
bytes before getting its little-endian representation for writing out to a .pyc
file.
Two, cap an rsplit() call to 1 split, else can lead to too many values being
returned for unpacking.
2013-02-25 17:10:11 -05:00
Serhiy Storchaka
39e47f94ec
Issue #17220 : Little cleanup of _bootstrap.py.
2013-02-25 15:40:33 +02:00
Ezio Melotti
92bd4ef640
Merge importlib.h rebuild from 3.3 after the changes introduced in 65eaac000147.
2013-02-20 22:15:47 +02:00
Ezio Melotti
795c10b3b6
Rebuild importlib.h after the changes introduced in 0f65bf6063ca.
2013-02-20 21:42:46 +02:00
Benjamin Peterson
419d9a83d5
evaluate lambda keyword-only defaults after positional defaults ( #16967 again)
2013-02-10 09:48:22 -05:00
Benjamin Peterson
1ef876cd28
evaluate positional defaults before keyword-only defaults ( closes #16967 )
2013-02-10 09:29:59 -05:00
Brett Cannon
85ae3566d1
Merge w/ 3.3 more fixes thanks to issue #17098
2013-02-01 16:36:29 -05:00
Brett Cannon
da9cf0eef8
Issue #17098 : Be more stringent of setting __loader__ on early imported
...
modules. Also made test more rigorous.
2013-02-01 15:31:49 -05:00
Brett Cannon
0ecd30b4af
Issue #17098 : Make sure every module has __loader__ defined.
...
Thanks to Thomas Heller for the bug report.
2013-02-01 14:04:12 -05:00
Brett Cannon
f3220d6af7
Tweak an exception message
2013-01-27 13:04:56 -05:00
Brett Cannon
14581d5dc4
Port py_compile over to importlib
2013-01-26 08:48:36 -05:00
Brett Cannon
686e880f20
Touch up exception messaging
2013-01-25 13:49:19 -05:00
Brett Cannon
569ff4fbbc
Issue #15031 : Refactor some code in importlib pertaining to validating
...
and compiling bytecode.
Thanks to Ronan Lamy for pointing the redundancy and taking an initial
stab at the refactor (as did Nick Coghlan).
2013-01-11 18:09:25 -05:00
Brett Cannon
c57f9f9419
Merge from 3.3 for fix for issue #16730
2013-01-11 15:42:30 -05:00
Brett Cannon
a9976b3e32
Issue #16730 : Don't raise an exception in
...
importlib.machinery.FileFinder when the directory has become
unreadable or a file. This brings semantics in line with Python 3.2
import.
Reported and diagnosed by David Pritchard.
2013-01-11 15:40:12 -05:00
Andrew Svetlov
f7a17b48d7
Replace IOError with OSError ( #16715 )
2012-12-25 16:47:37 +02:00
Benjamin Peterson
fc8f5c5e0f
update importlib.h
2012-12-19 15:16:51 -06:00
Andrew Svetlov
ad28c7f9da
Issue #16706 : get rid of os.error
2012-12-18 22:02:39 +02:00
Eric Snow
a6cfb28bd2
Issue #15627 : This is simply an update to the name of a new method recently added
...
to importlib.abc.SourceLoader.
2012-12-04 23:43:43 -08:00
Barry Warsaw
b72c10996e
- Issue #16514 : Fix regression causing a traceback when sys.path[0] is None
...
(actually, any non-string or non-bytes type).
2012-11-20 15:35:27 -05:00
Barry Warsaw
82c1c781c7
- Issue #16514 : Fix regression causing a traceback when sys.path[0] is None
...
(actually, any non-string or non-bytes type).
2012-11-20 15:22:51 -05:00
Brett Cannon
540187f719
Regen importlib.h
2012-11-18 10:27:12 -05:00
Brett Cannon
5650e4f41c
Issue #15627 : Add the compile_source() method to
...
importlib.abc.SourceLoader.
This provides an easy hook into the import system to allow for source
transformations, AST optimizations, etc.
2012-11-18 10:03:31 -05:00
Benjamin Peterson
c7a8a210d6
merge 3.3 (sort of)
2012-11-12 17:04:28 -05:00
Benjamin Peterson
2a0e226131
recompile importlib.h
2012-11-12 17:02:32 -05:00
Nick Coghlan
d4f5ad6c6e
Merge fix from #6074 from 3.3
2012-10-19 23:36:15 +10:00
Nick Coghlan
eb8d627bbd
Issue #6074 : Apply an appropriate fix for importlib based imports
2012-10-19 23:32:00 +10:00
Trent Nelson
744faddae8
Merge issue #15833 : don't raise an exception if importlib can't write
...
byte-compiled files.
This fixes a regression introduced by 3.3.
Patch by Charles-François Natali.
2012-10-16 08:03:21 -04:00
Trent Nelson
d783c8ed00
Issue #15833 : don't raise an exception if importlib can't write byte-compiled
...
files.
This fixes a regression introduced by 3.3. Patch by Charles-François Natali.
2012-10-16 07:47:34 -04:00
Brett Cannon
6072e0bf42
Remove uses of % with str.format.
2012-10-12 10:00:34 -04:00
Brett Cannon
9407d50208
Merge fix for issue #15111 .
2012-10-10 19:18:37 -04:00
Brett Cannon
a6ce4fd426
Closes issue #15111 : Calling __import__ with a module specified in
...
fromlist which causes its own ImportError (e.g. the module tries to
import a non-existent module) should have that exception propagate.
2012-10-10 19:03:46 -04:00
Jesus Cea
f01d695ccd
Closes #16135 : Removal of OS/2 support
2012-10-05 03:36:11 +02:00
Brett Cannon
8ed677db12
Add some comments.
2012-09-28 16:41:39 -04:00
Benjamin Peterson
feaa54f537
don't depend on __debug__ because it's baked in at freeze time (issue #16046 )
2012-09-25 11:22:59 -04:00
Antoine Pitrou
4f0338cab7
Issue #15781 : Fix two small race conditions in import's module locking.
2012-08-28 00:24:52 +02:00
Brett Cannon
12c6bda4f0
Issue #15316 : Let exceptions raised during imports triggered by the
...
fromlist of __import__ propagate.
The problem previously was that if something listed in fromlist didn't
exist then that's okay. The fix for that was too broad in terms of
catching ImportError.
The trick with the solution to this issue is that the proper
refactoring of import thanks to importlib doesn't allow for a way to
distinguish (portably) between an ImportError because finders couldn't
find a loader, or a loader raised the exception. In Python 3.4 the
hope is to introduce a new exception (e.g. ModuleNotFound) to make it
clean to differentiate why ImportError was raised.
2012-08-24 18:25:59 -04:00
Brett Cannon
ba0a3edd26
Issue #2051 : Tweak last commit for this issue to pass in mode instead
...
of source path to set_data() and make the new argument private until
possible API changes can be discussed more thoroughly in Python 3.4.
2012-08-24 13:48:39 -04:00
Nick Coghlan
a508770e20
Close #2501 : Permission bits are once again correctly copied from the source file to the cached bytecode file. Test by Eric Snow.
2012-08-24 18:32:40 +10:00
Nick Coghlan
48fec05391
Close #14846 : Handle a sys.path entry going away
2012-08-20 13:18:15 +10:00
Brett Cannon
7385adc84c
Issue #15715 : Ignore failed imports triggered by the use of fromlist.
...
When the fromlist argument is specified for __import__() and the
attribute doesn't already exist, an import is attempted. If that fails
(e.g. module doesn't exist), the ImportError will now be silenced (for
backwards-compatibility). This *does not* affect
``from ... import ...`` statements.
Thanks to Eric Snow for the patch and Simon Feltman for reporting the
regression.
2012-08-17 13:21:16 -04:00
Brett Cannon
b428f47cf6
Don't overwrite a __path__ value from extension modules if already
...
set.
2012-08-11 19:43:29 -04:00
Philip Jenvey
688a551ca0
fix docstring wording
2012-08-10 16:21:35 -07:00
Brett Cannon
f410ce8c09
Issue #15502 : Refactor some code.
2012-08-10 17:41:23 -04:00
Philip Jenvey
731d48a65f
update docstring per the extension package fix, refactor
2012-08-10 11:53:54 -07:00
Brett Cannon
ac9f2f3de3
Issue #15576 : Allow extension modules to be a package's __init__
...
module again. Also took the opportunity to stop accidentally exporting
_imp.extension_suffixes() as public.
2012-08-10 13:47:54 -04:00
Brett Cannon
f4dc9204cc
Issue #15502 : Finish bringing importlib.abc in line with the current
...
state of the import system. Also make importlib.invalidate_caches()
work with sys.meta_path instead of sys.path_importer_cache to
completely separate the path-based import system from the overall
import system.
Patch by Eric Snow.
2012-08-10 12:21:12 -04:00
Brett Cannon
cb4996afe4
Issue #15471 : Don't use mutable object as default values for the
...
parameters of importlib.__import__().
2012-08-06 16:34:44 -04:00