Serhiy Storchaka
6787a3806e
Issue #15204 : Deprecated the 'U' mode in file-like objects.
2013-11-23 22:12:06 +02:00
Eric Snow
b523f8433a
Implement PEP 451 (ModuleSpec).
2013-11-22 09:05:39 -07:00
Brett Cannon
16ababc213
merge for issue #18755
2013-08-23 11:52:19 -04:00
Brett Cannon
a4975a911d
Issue #18755 : Allow imp.load_*() loaders to have get_data() called
...
multiple times.
2013-08-23 11:45:57 -04:00
Eric Snow
7491f1726b
issue #18698 : ensure importlib.reload() returns the module out of sys.modules.
2013-08-14 18:03:34 -06:00
Ezio Melotti
056bafe7a6
#18681 : Fix a NameError in imp.reload() (noticed by Weizhao Li).
2013-08-10 19:59:36 +03:00
Brett Cannon
cd171c8e92
Issue #18200 : Back out usage of ModuleNotFoundError (8d28d44f3a9a)
2013-07-04 17:43:24 -04:00
Brett Cannon
e4f41deccf
Issue #17177 : The imp module is pending deprecation.
...
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).
2013-06-16 13:13:40 -04:00
Brett Cannon
a38e81428a
Issue #18194 : Introduce importlib.util.cache_from_source() and
...
source_from_cache(), finishing the work introduced in changset
4134:9cacdb9d0c59.
2013-06-14 22:35:40 -04:00
Brett Cannon
589c4fffd2
Make it more obvious what things used in imp are snuck in through private APIs
2013-06-14 22:29:58 -04:00
Brett Cannon
a3c96154d2
Issue #17907 : touch up the code for imp.new_module().
2013-06-14 22:26:30 -04:00
Brett Cannon
05a647deed
Issue #18192 : Introduce importlib.util.MAGIC_NUMBER and document the
...
deprecation of imp.get_magic().
2013-06-14 19:02:34 -04:00
Brett Cannon
3fe35e6503
Issue #18193 : Add importlib.reload(), documenting (but not
...
implementing in code) the deprecation of imp.reload().
Thanks to Berker Peksag for the patch.
2013-06-14 15:04:26 -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
9d0f772c51
Issue #15902 : Fix imp.load_module() to accept None as a file when
...
trying to load an extension module.
While at it, also add a proper unittest.skipIf() guard to another test
involving imp.load_dynamic().
2013-05-03 10:37:08 -04:00
Brett Cannon
5a4c233a9e
Issue #17358 : imp.load_source() and load_compiled() should now return
...
modules which will typically work when reloaded.
A hack is used to support these functions as their API allowed them to
pass in a file object but then operate as if import had loaded them.
Unfortunately the hack kept a reference around for the file object
passed in which would be unusable on reload since it had been closed.
The solution is to simply use the hack for the initial load but then a
proper loader on the module so that imp.reload() at least has a chance
to work.
2013-04-28 11:53:26 -04:00
Brett Cannon
3e2fe05e62
Issue #16880 : _imp.load_dynamic() is not defined on a platform that
...
does not support dynamic loading (e.g. Atari), so make sure that imp
doesn't assume it always exists.
Patch by Christian Heimes.
2013-03-17 15:48:16 -07:00
Nick Coghlan
91b9f139bc
Issue #15828 : Restore support for C extension modules in imp.load_module()
2012-09-01 00:13:45 +10: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
a6473f9cfd
Issues #15169 , #14599 : Make PyImport_ExecCodeModuleWithPathnames() use
...
Lib/imp.py for imp.source_from_cache() instead of its own C version.
Also change PyImport_ExecCodeModuleObject() to not infer the source
path from the bytecode path like
PyImport_ExecCodeModuleWithPathnames() does. This makes the function
less magical.
This also has the side-effect of removing all uses of MAXPATHLEN in
Python/import.c which can cause failures on really long filenames.
2012-07-13 13:57:03 -04:00
Brett Cannon
77b2abd094
Issue #15167 (as part of #13959 ): imp.get_magic() is no implemented in
...
Lib/imp.py.
2012-07-09 16:09:00 -04:00
Brett Cannon
19a2f5961c
Issue #15056 : imp.cache_from_source() and source_from_cache() raise
...
NotimplementedError when sys.implementation.cache_tag is None.
Thanks to Pranav Ravichandran for taking an initial stab at the patch.
2012-07-09 13:58:07 -04:00
Brett Cannon
bf7eab077f
Issue #15256 : Re-use the ImportError exception message as defined by
...
importlib._bootstrap in imp to fix a grammatical mistake.
Thanks to Marc Abramowitz for the patch.
2012-07-09 13:24:34 -04:00
Brett Cannon
98979b85e7
Issue #15166 : Re-implement imp.get_tag() using sys.implementation.
...
Also eliminates some C code in Python/import.c as well.
Patch by Eric Snow with verification by comparing against another
patch from Jeff Knupp.
2012-07-02 15:13:11 -04:00
Brett Cannon
0450c9ed52
Issue #13959 : Add to imp.find_module() and load_module's docstrings
...
that they are deprecated (previous commit documented this fact in the
module docs).
2012-06-15 19:39:06 -04:00
Brett Cannon
c049952de7
Issue #13959 : Have
...
importlib.abc.FileLoader.load_module()/get_filename() and
importlib.machinery.ExtensionFileLoader.load_module() have their
single argument be optional as the loader's constructor has all the
ncessary information.
This allows for the deprecation of
imp.load_source()/load_compile()/load_package().
2012-05-11 14:48:41 -04: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
Benjamin Peterson
ef5a4636d0
don't append the bytecode suffix to the source suffixes global
2012-05-05 09:44:08 -04:00
Brett Cannon
2657df4744
Issue #13959 : Re-implement imp.get_suffixes() in Lib/imp.py.
...
This introduces a new function, imp.extension_suffixes(), which is
currently undocumented. That is forthcoming once issue #14657 is
resolved and how to expose file suffixes is decided.
2012-05-04 15:20:40 -04:00
Brett Cannon
17098a5447
Properly mark names in importlib._bootstrap as private.
2012-05-04 13:52:49 -04:00
Brett Cannon
1182351e69
Re-indent.
2012-04-29 14:40:43 -04:00
Brett Cannon
62228dbd6c
Issues #13959 , 14647: Re-implement imp.reload() in Lib/imp.py.
...
Thanks to Eric Snow for the patch.
2012-04-29 14:38:11 -04:00
Brett Cannon
acf85cd131
Issue #13959 : Re-implement imp.NullImporter in Lib/imp.py.
2012-04-29 12:50:03 -04:00
Marc-Andre Lemburg
4fe29c9657
Issue #14605 : Rename _SourcelessFileLoader to SourcelessFileLoader.
...
This time also recreating the Python/importlib.h file to make
make happy. See the ticket for details.
2012-04-25 02:31:37 +02:00
Marc-Andre Lemburg
ac8805a01a
Issue #14605 : Revert renaming of _SourcelessFileLoader, since it caused
...
the buildbots to fail.
2012-04-25 02:11:07 +02:00
Marc-Andre Lemburg
2945e78b05
Issue #14605 : Rename _SourcelessFileLoader to SourcelessFileLoader
2012-04-25 01:36:48 +02:00
Brett Cannon
938d44d59c
Issue #14605 : Expose importlib.abc.FileLoader and
...
importlib.machinery.(FileFinder, SourceFileLoader,
_SourcelessFileLoader, ExtensionFileLoader).
This exposes all of importlib's mechanisms that will become public on
the sys module.
2012-04-22 19:58:33 -04:00
Brett Cannon
cb165db3a3
Fix whitespace.
2012-04-21 21:15:28 -04:00
Brett Cannon
e69f0df45b
Issue #13959 : Re-implement imp.find_module() in Lib/imp.py.
...
Thanks to Eric Snow for taking an initial stab at the implementation.
2012-04-21 21:09:46 -04:00
Brett Cannon
2f92389d5c
Don't worry about moving imp.get_tag() over to Lib/imp.py.
2012-04-21 18:55:51 -04:00
Brett Cannon
a64faf0771
Issue #13959 : Re-implement imp.source_from_cache() in Lib/imp.py.
2012-04-21 18:52:52 -04:00
Brett Cannon
ea59dbff16
Issue #13959 : Re-implement imp.cache_from_source() in Lib/imp.py.
2012-04-20 21:44:46 -04:00
Brett Cannon
24117a748b
Issue #13959 : Keep imp.get_magic() in C code, but cache in importlib
...
for performance. While get_magic() could move to Lib/imp.py, having to
support PyImport_GetMagicNumber() would lead to equal, if not more, C
code than sticking with the status quo.
2012-04-20 18:04:03 -04:00
Brett Cannon
64befe939c
Issue #13959 : Re-implement imp.load_compiled() in imp.py.
2012-04-17 19:14:26 -04:00
Brett Cannon
578393b286
Properly guard against special-casing.
2012-04-16 23:11:28 -04:00
Brett Cannon
16475adcbb
Issue #13959 : Re-implement imp.load_source() in imp.py.
2012-04-16 22:11:25 -04:00
Brett Cannon
de10bf4f4d
Issue #13959 : Fix a logic bug.
2012-04-16 20:44:21 -04:00
Brett Cannon
2ee61422ed
Issue #13959 : Re-implement imp.load_package() in imp.py.
...
Thanks to Eric Snow for helping with imp.load_module() (previous
commit) which led to the removal of a bunch of C code.
2012-04-15 22:28:28 -04:00
Brett Cannon
01a76171a0
Issue #13959 : Re-implement imp.load_module() in imp.py.
2012-04-15 20:25:23 -04:00
Brett Cannon
2fef4d2e6b
Consider load_dynamic() something to keep in _imp.
2012-04-15 19:06:23 -04:00