Commit graph

43198 commits

Author SHA1 Message Date
Brett Cannon
0e75c06886 fix whitespace 2013-05-31 18:57:45 -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
f1d7b11db9 Docstring cleanup 2013-05-31 18:39:07 -04:00
Brett Cannon
c29cb41822 Fix for last commit on adding reset_name to module_to_load 2013-05-31 18:37:44 -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
Serhiy Storchaka
c7a2825681 Issue #18094: test_uuid no more reports skipped tests as passed. 2013-05-31 22:34:00 +03: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
d739bda6b2 Issue #18084: Use sys.byteorder in wave.py.
Original patch by Hideaki Takahashi.
2013-05-29 23:38:00 +03:00
Stefan Krah
2e537f9edc test_decimal: add __sizeof__() tests for code coverage. 2013-05-29 18:50:06 +02:00
Stefan Krah
8d90e383a3 Merge 3.3. 2013-05-29 15:47:24 +02:00
Senthil Kumaran
6b3026ce72 merge from 3.3
#17403: urllib.parse.robotparser normalizes the urls before adding to
ruleline. This helps in handling certain types invalid urls in a conservative
manner. Patch contributed by Mher Movsisyan.
2013-05-29 05:57:21 -07:00
Terry Jan Reedy
7b503965a0 Merge with 3.3 2013-05-28 22:22:14 -04:00
Ned Deily
6750282007 Issue #18080: merge from 3.3 2013-05-28 16:45:06 -07: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
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
281945f427 Issue #18025: Fixed a segfault in io.BufferedIOBase.readinto() when raw
stream's read() returns more bytes than requested.
2013-05-28 16:27:08 +03:00
Serhiy Storchaka
5758fa78d0 Issue #17746: Skip test_shutil.test_non_matching_mode when run as root or
on unsuitable platform/environment.
2013-05-28 15:53:46 +03:00
Serhiy Storchaka
5cc9d32ee9 Issue #18011: Silence an unrelated noise introduced in changeset 1b5ef05d6ced. 2013-05-28 15:42:34 +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
Jason R. Coombs
fb1141cd55 Merge with 3.3 2013-05-27 23:53:02 -04:00
Jason R. Coombs
8f1a8e32b1 Merge with 3.3 2013-05-27 23:26:36 -04:00
Terry Jan Reedy
667a03b292 Merge with 3.3 2013-05-27 21:33:40 -04:00
Brett Cannon
3b62ca88e4 Issue #18072: Implement get_code() for importlib.abc.InspectLoader and
ExecutionLoader.
2013-05-27 21:11:04 -04: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
Antoine Pitrou
1256f1f438 Issue #18063: fix some struct specifications in the tests for sys.getsizeof(). 2013-05-25 23:48:15 +02:00
Łukasz Langa
eadd8cf507 Fix #16832 - expose cache validity checking support in ABCMeta 2013-05-25 18:41:50 +02:00
Eli Bendersky
8be90396f2 Clean-up duplicated code in tests 2013-05-25 07:12:38 -07:00
Eli Bendersky
7b3022f24f Issue #13612: handle unknown encodings without a buffer overflow.
This affects pyexpat and _elementtree. PyExpat_CAPI now exposes a new
function - DefaultUnknownEncodingHandler.

Based on a patch by Serhiy Storchaka.
2013-05-25 05:27:10 -07:00
Antoine Pitrou
765f3cce48 Fix test_bad_address on Ubuntu 13.04 2013-05-25 13:08:34 +02:00
Vinay Sajip
3b84eae03e Closes #18046: Simplified logging internals relating to levels and their names. Thanks to Alex Gaynor for the patch. 2013-05-25 03:20:34 -07: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
Ronald Oussoren
dc3e6cc452 (3.3->default) Issue #17269: Workaround for a platform bug in getaddrinfo on OSX
Without this patch socket.getaddrinfo crashed when called
with some unusual argument combinations.
2013-05-24 13:51:21 +02:00
Ned Deily
6a00b6f4fd Issue #17532: merge 2013-05-22 15:24:44 -07:00
Benjamin Peterson
965efe9e5e merge 3.3 2013-05-22 13:27:32 -07:00
Serhiy Storchaka
447b6e3c6e Issue #16986: ElementTree now correctly parses a string input not only when
an internal XML encoding is UTF-8 or US-ASCII.
2013-05-22 17:21:06 +03:00
Serhiy Storchaka
3ee6dabf5b Issue #17900: Allowed pickling of recursive OrderedDicts. Decreased pickled
size and pickling time.
2013-05-21 12:47:57 +03:00
Charles-François Natali
b10c71daa2 Backed out changeset c0f2b038fc12 2013-05-21 10:45:46 +02:00
Charles-François Natali
c7c333d25d Issue #17683: socket module: return AF_UNIX addresses in Linux abstract
namespace as string.
2013-05-21 09:49:18 +02:00
Roger Serwy
87ff387254 #14146: merge with 3.3. 2013-05-20 22:16:53 -05:00
Vinay Sajip
067e48b7d8 Closes #17743: Merged fix from 3.3. 2013-05-20 15:39:11 -07:00
Vinay Sajip
1eae2237e1 Closes #17744: Merged fix from 3.3. 2013-05-20 15:30:10 -07:00
Charles-Francois Natali
d66b10e165 Issue #17684: Fix some test_socket failures due to limited FD passing support
on OS-X. Patch by Jeff Ramnani.
2013-05-20 19:08:19 +02:00
Charles-Francois Natali
44feda3cd0 Issue #17914: Add os.cpu_count(). Patch by Yogesh Chaudhari, based on an
initial patch by Trent Nelson.
2013-05-20 14:40:46 +02:00
Benjamin Peterson
d2cef8a204 merge 3.3 2013-05-19 19:39:46 -07:00
Eli Bendersky
a369923cab Get rid of ugly code duplication for ElementTree.parse when the accelerator
is imported. Instead, ElementTree.parse can look for a special internal method
defined by the accelerator.
2013-05-19 18:47:23 -07:00
Eli Bendersky
e26fa1bdcb Add some testing to verify which module was imported in ET tests.
This is useful when mucking with import_fresh_module to either force or block
importing of the _elementtree accelerator. These tests in place provide an
immediate indication whether the accelerator was actually imported and overrode
the classes it should have.
2013-05-19 17:49:54 -07:00
Eli Bendersky
8687245e27 normalize whitespace 2013-05-19 09:27:13 -07:00
Eli Bendersky
e6a951b83e Cleanup even more dead code 2013-05-19 09:25:52 -07:00
Eli Bendersky
c4e98a6a9b Cleanup more old ET library leftovers 2013-05-19 09:24:43 -07:00
Eli Bendersky
46955b2d30 Issue #17988: remove unused alias for Element and rename the used one
Renaming to _Element_Py for clarity and moving it to a more logical location.
_ElementInterface OTOH is unused and is therefore removed.

Close #17988
2013-05-19 09:20:50 -07:00