Commit Graph

14965 Commits

Author SHA1 Message Date
Raymond Hettinger 697fd46d15 merge 2013-06-02 10:04:59 -07:00
Raymond Hettinger d71001749d Clarify which dictionaries are updateable
by using the wording from the Py2.7 docs.
2013-06-02 10:03:05 -07:00
Brett Cannon 3e0651b5fa Issue #18065: For frozen packages set __path__ to [].
Previously __path__ was set to [__name__], but that could lead to bad
results if someone managed to circumvent the frozen importer and
somehow ended up with a finder that thought __name__ was a legit
directory/location.
2013-05-31 23:18:39 -04:00
Brett Cannon 0dbb4c7f13 Issues #18088, 18089: Introduce
importlib.abc.Loader.init_module_attrs() and implement
importlib.abc.InspectLoader.load_module().

The importlib.abc.Loader.init_module_attrs() method sets the various
attributes on the module being loaded. It is done unconditionally to
support reloading. Typically people used
importlib.util.module_for_loader, but since that's a decorator there
was no way to override it's actions, so init_module_attrs() came into
existence to allow for overriding. This is also why module_for_loader
is now pending deprecation (having its other use replaced by
importlib.util.module_to_load).

All of this allowed for importlib.abc.InspectLoader.load_module() to
be implemented. At this point you can now implement a loader with
nothing more than get_code() (which only requires get_source();
package support requires is_package()). Thanks to init_module_attrs()
the implementation of load_module() is basically a context manager
containing 2 methods calls, a call to exec(), and a return statement.
2013-05-31 18:56:47 -04:00
Brett Cannon b60a43eabf Add a reset_name argument to importlib.util.module_to_load in order to
control whether to reset the module's __name__ attribute in case a
reload is being done.
2013-05-31 18:11:17 -04:00
Brett Cannon 028d51236a Update What's New for importlib.util.module_to_load name change 2013-05-31 18:02:11 -04:00
Brett Cannon 177381116e Add a reference to module_to_load 2013-05-31 18:00:56 -04:00
Brett Cannon 357c9fb055 Rename importlib.util.ModuleManager to module_to_load so that the name
explains better what the context manager is providing.
2013-05-30 17:31:47 -04:00
Serhiy Storchaka 1cfebc73e0 Issue #9369: The types of `char*` arguments of PyObject_CallFunction() and
PyObject_CallMethod() now changed to `const char*`.
Based on patches by Jörg Müller and Lars Buitinck.
2013-05-29 18:50:54 +03:00
Andrew Kuchling 1e170bae71 #1554133: Document PyOS_InputHook, PyOS_ReadlineFunctionPointer 2013-05-28 21:48:28 -04:00
Brett Cannon 56dfc2127f Undo a recommendation as load_module() methods might be called directly 2013-05-28 18:40:31 -04:00
Brett Cannon 3dc48d6f69 Issue #18070: importlib.util.module_for_loader() now sets __loader__
and __package__ unconditionally in order to do the right thing for
reloading.
2013-05-28 18:35:54 -04:00
Brett Cannon a22faca714 Clarify some documentation 2013-05-28 17:50:14 -04:00
Brett Cannon a3687f0d68 Introduce importlib.util.ModuleManager which is a context manager to
handle providing (and cleaning up if needed) the module to be loaded.

A future commit will use the context manager in
Lib/importlib/_bootstrap.py and thus why the code is placed there
instead of in Lib/importlib/util.py.
2013-05-28 17:29:34 -04:00
Serhiy Storchaka 4dbae88131 Issue #18085: Fix PyObject_CallMethodObjArgs()'s entry in refcounts.dat. 2013-05-28 22:47:36 +03:00
Serhiy Storchaka dce05500a1 Issue #18085: Fix PyObject_CallMethodObjArgs()'s entry in refcounts.dat. 2013-05-28 22:46:15 +03:00
Serhiy Storchaka 77a3ad743f Issue #18011: base64.b32decode() now raises a binascii.Error if there are
non-alphabet characters present in the input string to conform a docstring.
Updated the module documentation.
2013-05-28 15:30:38 +03:00
Serhiy Storchaka ea2b490f3d Issue #18011: base64.b32decode() now raises a binascii.Error if there are
non-alphabet characters present in the input string to conform a docstring.
Updated the module documentation.
2013-05-28 15:27:29 +03:00
Serhiy Storchaka 3801f632dc Issue #18079: Fix a typo in the tutorial. 2013-05-28 12:50:54 +03:00
Serhiy Storchaka fef952a607 Issue #18079: Fix a typo in the tutorial. 2013-05-28 12:49:34 +03:00
Jason R. Coombs 8f1a8e32b1 Merge with 3.3 2013-05-27 23:26:36 -04:00
Jason R. Coombs 3a09286790 Issue #13772: Restored directory detection of targets in `os.symlink` on Windows, which was temporarily removed in Python 3.2.3 due to an incomplete implementation. The implementation now works even if the symlink is created in a location other than the current directory. 2013-05-27 23:21:28 -04:00
Brett Cannon 3b62ca88e4 Issue #18072: Implement get_code() for importlib.abc.InspectLoader and
ExecutionLoader.
2013-05-27 21:11:04 -04:00
Ned Deily e7b47dda64 Fix typo in embedding doc and update examples to 3.4. 2013-05-26 18:57:00 -07:00
Ned Deily ecf0851809 Fix typo in embedding doc and update examples to 3.3. 2013-05-26 18:53:39 -07:00
Brett Cannon 9ffe85e1e8 Move importlib.abc.SourceLoader.source_to_code() to InspectLoader.
While the previous location was fine, it makes more sense to have the
method higher up in the inheritance chain, especially at a point where
get_source() is defined which is the earliest source_to_code() could
programmatically be used in the inheritance tree in importlib.abc.
2013-05-26 16:45:10 -04:00
Łukasz Langa eadd8cf507 Fix #16832 - expose cache validity checking support in ABCMeta 2013-05-25 18:41:50 +02:00
Brett Cannon b961955e95 merge 2013-05-25 11:33:13 -04:00
Brett Cannon 4b4e38e7d4 Mention __cached__ in the import ref. 2013-05-25 11:32:50 -04:00
Brett Cannon 21cc628e4c merge 2013-05-25 11:29:03 -04:00
Brett Cannon 533f1ed334 Add a missing parenthesis. 2013-05-25 11:28:20 -04:00
Brett Cannon b39567a00e merge 2013-05-25 11:26:36 -04:00
Brett Cannon 2cefb3cf96 Various tweaks to importlib docs. 2013-05-25 11:26:11 -04:00
Brett Cannon 6489d0b380 merge fix for issue #17953 2013-05-24 17:31:37 -04:00
Senthil Kumaran 8307075ce8 Fix #17272 - Make Request.full_url and Request.get_full_url return same result under all circumstances.
Document the change of Request.full_url to a property.
2013-05-24 09:14:12 -07:00
Brett Cannon c3511c1dd8 Issue #17953: document that sys.modules shouldn't be replaced (thanks
to interp->modules) and that deleting essential items from the dict
can cause Python to blow up.

Thanks to Terry Reedy for coming up with initial wording and Yogesh
Chaudhari for coming up with a patch using that wording in parallel to
my own patch.
2013-05-24 08:05:07 -04:00
Senthil Kumaran cbc77bbbc0 merge from 3.3
Fix #18007 : Document CookieJar.add_cookie_header request parameter changes in 3.3 and 3.4.
2013-05-23 05:28:34 -07:00
Senthil Kumaran 05ec6aca3a Fix #18007 : Document CookieJar.add_cookie_header request parameter changes in 3.3 2013-05-23 05:27:38 -07:00
Nick Coghlan c633f97808 Merge issue 17844 from 3.3 2013-05-23 20:25:09 +10:00
Nick Coghlan 650e322fc6 Issue 17844: Clarify meaning of different codec tables 2013-05-23 20:24:02 +10:00
Raymond Hettinger 8f34da3f5f merge 2013-05-23 00:15:19 -07:00
Raymond Hettinger c1939b8f75 Issue #18031: %-formatting isn't dead yet and might pull through. 2013-05-23 00:14:47 -07:00
Serhiy Storchaka 549681c79b Issue #17844: Add links to encoders and decoders for bytes-to-bytes codecs. 2013-05-22 15:35:35 +03:00
Serhiy Storchaka 9e62d35e65 Issue #17844: Add links to encoders and decoders for bytes-to-bytes codecs. 2013-05-22 15:33:09 +03:00
Giampaolo Rodola' 80e1c43ddf Fix issue #17996: expose socket.AF_LINK constant on BSD and OSX. 2013-05-21 21:02:04 +02:00
R David Murray b3a579223e merge #17973: fix technical inaccuracy in faq entry (it now passes doctest). 2013-05-21 11:45:09 -04:00
R David Murray 95ae99205e #17973: fix technical inaccuracy in faq entry (it now passes doctest). 2013-05-21 11:44:41 -04:00
Ned Deily de88c0d2f2 Issue #18026: merge 2013-05-20 14:32:06 -07:00
Ned Deily ea3cfc5f34 Issue #18026: fix ctypes doc typo 2013-05-20 14:29:44 -07:00
R David Murray 63f72908a1 Merge #17973: Add FAQ entry for ([],)[0] += [1] both extending and raising. 2013-05-20 10:33:27 -04:00