Brett Cannon
d2e7b33815
Implement the more specific PEP 302 semantics for loaders and what happens upon
...
load failure in relation to reloads. Also expose
importlib.util.module_for_loader to handle all of the details of this along
with making sure all current loaders behave nicely.
2009-02-17 02:45:03 +00:00
Brett Cannon
32732e3fbd
Change importlib.machinery.PathFinder to not have implicit semantics (that's
...
not handled by importlib._bootstrap._DefaultPathFinder).
2009-02-15 05:48:13 +00:00
Brett Cannon
51d8bfc837
Create a simple substitute for functools.wraps to use in importlib._bootstrap.
2009-02-07 02:13:28 +00:00
Brett Cannon
06c9d96b70
Move importlib completely over to using rpartition and accepting the empty
...
string for top-level modules.
2009-02-07 01:52:25 +00:00
Brett Cannon
d94e558fdc
Move importlib's built-in importer to use rpartition for __package__.
2009-02-07 01:40:19 +00:00
Brett Cannon
eb2e0dd19d
Move importlib's frozen importer over to rpartition for setting __package__.
2009-02-07 01:38:38 +00:00
Brett Cannon
2c318a1390
Rewrite the code implementing __import__ for importlib. Now it is much simpler
...
and relies much more on meta path finders to abstract out various parts of
import.
As part of this the semantics for import_module tightened up and now follow
__import__ much more closely (biggest thing is that the 'package' argument must
now already be imported, else a SystemError is raised).
2009-02-07 01:15:27 +00:00
Brett Cannon
7f9876c0da
Initial, untested stab at writing a common denominator function for __import__
...
and import_module.
2009-02-06 02:47:33 +00:00
Brett Cannon
1f9bcd38a9
Add tests for using sys.path_hooks by importlib.machinery.PathFinder.
2009-02-05 23:36:02 +00:00
Brett Cannon
f7e5a8c724
Rename importlib._bootstrap.SysPathFinder to PathFinder and expose off of
...
importlib.machinery. Also make the methods either class or staticmethods.
2009-02-05 02:52:18 +00:00
Brett Cannon
1d376687b7
To prevent another screw-up on my part where my prototype gets lost thanks to
...
an ``svn revert`` (gee, maybe more atomic commits by use of something like a
DVCS would help with this? Wish someone would get on that ...), I am checking
in an untested, work-in-progress meta path finder to handle sys.path.
2009-02-02 19:19:36 +00:00
Brett Cannon
776e7014e9
Simplify write_bytecode for importlib.
2009-02-01 06:07:57 +00:00
Brett Cannon
ba96f0f89a
Ditch read_source() and read_bytecode() and replace with *_path() and
...
get_data().
2009-02-01 05:43:31 +00:00
Brett Cannon
51c502689c
Expose source_path and bytecode_path on _PyFileLoader.
2009-02-01 05:33:17 +00:00
Brett Cannon
223a19d8b1
Fix importlib.machinery.FrozenImporter.load_module() to set __package__
...
properly. Discovered by also moving the loader tests over to
importlib.test.abc.LoaderTests.
2009-02-01 01:34:13 +00:00
Brett Cannon
78246b6b45
Document both importlib.machinery.BuiltinImporter and FrozenImporter.
2009-01-25 04:56:30 +00:00
Brett Cannon
5abdc93eb8
Add importlib.machinery with its first tenants, BuitinImporter and
...
FrozenImporter. Docs forthcoming.
I plan on all finders and loaders (and most likely hooks) to live
in imoprtlib.machinery. Utility stuff will end up in importlib.util.
Higher-level API stuff will stay on imoprtlib directly (e.g. import_module).
2009-01-22 22:43:07 +00:00
Brett Cannon
b4a1b8c541
Fix a typo in some code that is not tested or supported yet.
...
Closes issue 4993. Thanks Antoine Pitrou for the catch.
2009-01-19 06:56:16 +00:00
Brett Cannon
23cbd8a656
Add initial implementation of importlib. See the NOTES files for what is
...
planned for the package.
There are no docs yet, but they are coming once the API for the first new
function, importlib.import_module() is finalized.
2009-01-18 00:24:28 +00:00