This patch also clarifies the definition of Naive and Aware.
Original patch by Greg Weller, I modified the first hunk
somewhat to make the exposition even clearer (I hope).
This patch also clarifies the definition of Naive and Aware.
Original patch by Greg Weller, I modified the first hunk
somewhat to make the exposition even clearer (I hope).
The code itself does not raise a DeprecationWarning as the functions
are technically fine, it's just a bad API. Unfortunately experience
has shown that the terrible API has been exposed in various places,
necessitating that it stick around probably until py4k comes around
since it is such a shift to move over to importlib.find_loader().
The long-term goal is to deprecate imp.find_module() in favour of this
API, but it will take some time as some APIs explicitly return/use what
imp.find_module() returns.
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().
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.
In Python 3.2 and earlier, Process.join() and Connection.poll()
treated negative timeouts as zero timeouts. Earlier versions from
the 3.3 line of development treat them as infinite timeouts.
The patch reverts to the old behaviour.
Removed futimens as it is now redundant.
Changed shutil.copystat to use st_atime_ns and st_mtime_ns from os.stat
and ns= parameter to utime--it once again preserves exact metadata on Linux!