Commit Graph

71 Commits

Author SHA1 Message Date
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 028d51236a Update What's New for importlib.util.module_to_load name change 2013-05-31 18:02:11 -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
Nick Coghlan b39fd0c9b8 Issue #11816: multiple improvements to the dis module
* get_instructions generator
* ability to redirect output to a file
* Bytecode and Instruction abstractions

Patch by Nick Coghlan, Ryan Kelly and Thomas Kluyver.
2013-05-06 23:59:20 +10:00
Brett Cannon 4c14b5de1c #17115,17116: Have modules initialize the __package__ and __loader__
attributes to None.

The long-term goal is for people to be able to rely on these
attributes existing and checking for None to see if they have been
set. Since import itself sets these attributes when a loader does not
the only instances when the attributes are None are from someone
overloading __import__() and not using a loader or someone creating a
module from scratch.

This patch also unifies module initialization. Before you could have
different attributes with default values depending on how the module
object was created. Now the only way to not get the same default set
of attributes is to circumvent initialization by calling
ModuleType.__new__() directly.
2013-05-04 13:56:58 -04:00
R David Murray 8a34596bbe #2118: IOError is deprecated, use OSError. 2013-04-14 06:46:35 -04:00
R David Murray 8e37d5df95 #2118: Make SMTPException a subclass of IOError.
Initial patch by Ned Jackson Lovely.
2013-04-13 14:49:48 -04:00
R David Murray 671cd3290b #17487: wave.getparams now returns a namedtuple.
Patch by Claudiu Popa.
2013-04-10 12:31:43 -04:00
Brett Cannon 777622b6ca What's new entry for issue #17093 2013-04-09 17:03:10 -04:00
Antoine Pitrou 2463e5fee4 Issue #16692: The ssl module now supports TLS 1.1 and TLS 1.2. Initial patch by Michele Orrù. 2013-03-28 22:24:43 +01:00
Kristjan Valur Jonsson a1e8244afa Issue #16475: Add a whatsnew entry for 3.4 2013-03-26 13:56:14 +00:00
Terry Jan Reedy 2b6c26ebe3 Issue #13248: NEWS and What's New items 2013-03-21 19:36:26 -04:00
R David Murray 5a9d706123 #16522: Add FAIL_FAST flag to doctest.
Patch by me, most of the work (doc and tests) by Daniel Urban.
2012-11-21 15:09:21 -05:00
Ezio Melotti 25bbe5e0bc #16157: merge with 3.3. 2012-11-17 19:30:48 +02:00
Victor Stinner e64322e034 Close #14625: Rewrite the UTF-32 decoder. It is now 3x to 4x faster
Patch written by Serhiy Storchaka.
2012-10-30 23:12:47 +01:00
Georg Brandl 3b80d34c55 Remove confusing "Release" and "Date" markers from whatsnews. Merge with 3.3. 2012-10-28 13:37:54 +01:00
Christian Heimes 4a0270d82b Issue #16113: integrade SHA-3 (Keccak) patch from http://hg.python.org/sandbox/cheimes 2012-10-06 02:23:36 +02:00
Benjamin Peterson 88f3b23fdb 3.3 -> 3.4 (closes #16130) 2012-10-04 12:45:10 -04:00
Nick Coghlan 03074fd450 Adjust guidelines for What's New maintenance to account for issues encountered in 3.3 and in past releases 2012-09-30 18:51:53 +05:30
Georg Brandl 50de85067f Record UCD update in whatsnew. 2012-09-30 14:39:18 +02:00
Georg Brandl b80f511a8b Add a stub "whatsnew in 3.4" document. 2012-09-30 09:11:58 +02:00