diff options
author | ?ric Araujo <merwok@netwok.org> | 2011-11-23 13:58:51 +0100 |
---|---|---|
committer | ?ric Araujo <merwok@netwok.org> | 2011-11-23 13:58:51 +0100 |
commit | c2e31bfbb48378e4ee91885046cc05765a54eabc (patch) | |
tree | f92c28c6934ab61d526aac7227aee729f66c7238 | |
parent | c888a6c48cc14834274c8d6b8553c2383900774e (diff) | |
parent | bb11fef9c016c68e89b8a83f1a95206859291d8a (diff) | |
download | disutils2-c2e31bfbb48378e4ee91885046cc05765a54eabc.tar.gz |
Merge compat/_backport cleanup from default.
For some reason, the diff for distutils/_backport/misc.py makes it seem
like it?s a new file instead of showing the changes I did during the
merge.
-rw-r--r-- | distutils2/_backport/__init__.py | 6 | ||||
-rw-r--r-- | distutils2/_backport/misc.py | 36 | ||||
-rw-r--r-- | distutils2/command/build_py.py | 3 | ||||
-rw-r--r-- | distutils2/command/build_scripts.py | 2 | ||||
-rw-r--r-- | distutils2/command/install_lib.py | 2 | ||||
-rw-r--r-- | distutils2/compat.py | 38 | ||||
-rw-r--r-- | distutils2/dist.py | 2 | ||||
-rw-r--r-- | distutils2/markers.py | 6 | ||||
-rw-r--r-- | distutils2/pypi/simple.py | 4 | ||||
-rw-r--r-- | distutils2/run.py | 2 | ||||
-rw-r--r-- | distutils2/util.py | 2 |
11 files changed, 53 insertions, 50 deletions
diff --git a/distutils2/_backport/__init__.py b/distutils2/_backport/__init__.py index ce6f11b..f7dbf4c 100644 --- a/distutils2/_backport/__init__.py +++ b/distutils2/_backport/__init__.py @@ -1,4 +1,6 @@ -"""Modules copied from Python 3 standard libraries. +"""Modules copied from Python 3 standard libraries, for internal use only. -Individual classes and objects like the any function are in compat. +Individual classes and functions are found in d2._backport.misc. Intended +usage is to always import things missing from 3.1 from that module: the +built-in/stdlib objects will be used if found. """ diff --git a/distutils2/_backport/misc.py b/distutils2/_backport/misc.py new file mode 100644 index 0000000..4d2b9b3 --- /dev/null +++ b/distutils2/_backport/misc.py @@ -0,0 +1,36 @@ +"""Backports for individual classes and functions.""" + +import os +import sys + +__all__ = ['cache_from_source', 'callable', 'fsencode'] + + +try: + from imp import cache_from_source +except ImportError: + def cache_from_source(py_file, debug=__debug__): + ext = debug and 'c' or 'o' + return py_file + ext + + +try: + callable = callable +except NameError: + from collections import Callable + + def callable(obj): + return isinstance(obj, Callable) + + +try: + fsencode = os.fsencode +except AttributeError: + def fsencode(filename): + if isinstance(filename, bytes): + return filename + elif isinstance(filename, str): + return filename.encode(sys.getfilesystemencoding()) + else: + raise TypeError("expect bytes or str, not %s" % + type(filename).__name__) diff --git a/distutils2/command/build_py.py b/distutils2/command/build_py.py index f9b9bcd..1fe1d97 100644 --- a/distutils2/command/build_py.py +++ b/distutils2/command/build_py.py @@ -5,9 +5,10 @@ from glob import glob from distutils2 import logger from distutils2.util import convert_path -from distutils2.compat import Mixin2to3, cache_from_source +from distutils2.compat import Mixin2to3 from distutils2.errors import PackagingOptionError, PackagingFileError from distutils2.command.cmd import Command +from distutils2._backport.misc import cache_from_source # marking public APIs __all__ = ['build_py'] diff --git a/distutils2/command/build_scripts.py b/distutils2/command/build_scripts.py index e752ff1..7965558 100644 --- a/distutils2/command/build_scripts.py +++ b/distutils2/command/build_scripts.py @@ -8,8 +8,8 @@ from distutils2.command.cmd import Command from distutils2.util import convert_path, newer from distutils2 import logger from distutils2.compat import Mixin2to3 -from distutils2.compat import fsencode from distutils2._backport import sysconfig +from distutils2._backport.misc import fsencode # check if Python is called on the first line with this expression diff --git a/distutils2/command/install_lib.py b/distutils2/command/install_lib.py index 8ee1fd5..dfb32cf 100644 --- a/distutils2/command/install_lib.py +++ b/distutils2/command/install_lib.py @@ -3,9 +3,9 @@ import os from distutils2 import logger -from distutils2.compat import cache_from_source from distutils2.command.cmd import Command from distutils2.errors import PackagingOptionError +from distutils2._backport.misc import cache_from_source # Extension for Python source files. diff --git a/distutils2/compat.py b/distutils2/compat.py index 3927ea0..bcd4f0f 100644 --- a/distutils2/compat.py +++ b/distutils2/compat.py @@ -1,10 +1,5 @@ -"""Compatibility helpers. +"""Support for build-time 2to3 conversion.""" -This module provides individual classes or objects backported from -Python 3.2, for internal use only. Whole modules are in _backport. -""" - -import sys from distutils2 import logger @@ -54,34 +49,3 @@ class Mixin2to3(_KLASS): def _run_2to3(self, files, doctests=[], fixers=[]): pass - - -# The rest of this file does not exist in packaging -# functions are sorted alphabetically and are not included in __all__ - - -def fsencode(filename): - if isinstance(filename, bytes): - return filename - elif isinstance(filename, str): - return filename.encode(sys.getfilesystemencoding()) - else: - raise TypeError("expect bytes or str, not %s" % - type(filename).__name__) - - -try: - callable = callable -except NameError: - from collections import Callable - - def callable(obj): - return isinstance(obj, Callable) - - -try: - from imp import cache_from_source -except ImportError: - def cache_from_source(py_file, debug=__debug__): - ext = debug and 'c' or 'o' - return py_file + ext diff --git a/distutils2/dist.py b/distutils2/dist.py index a17c950..962895c 100644 --- a/distutils2/dist.py +++ b/distutils2/dist.py @@ -5,7 +5,6 @@ import re from distutils2 import logger from distutils2.util import strtobool, resolve_name -from distutils2.compat import callable from distutils2.config import Config from distutils2.errors import (PackagingOptionError, PackagingArgError, PackagingModuleError, PackagingClassError) @@ -13,6 +12,7 @@ from distutils2.command import get_command_class, STANDARD_COMMANDS from distutils2.command.cmd import Command from distutils2.metadata import Metadata from distutils2.fancy_getopt import FancyGetopt +from distutils2._backport.misc import callable # Regex to define acceptable Packaging command names. This is not *quite* # the same as a Python name -- leading underscores are not allowed. The fact diff --git a/distutils2/markers.py b/distutils2/markers.py index b6fc65e..5fb7027 100644 --- a/distutils2/markers.py +++ b/distutils2/markers.py @@ -3,9 +3,8 @@ import os import sys import platform - -from tokenize import tokenize, NAME, OP, STRING, ENDMARKER, ENCODING from io import BytesIO +from tokenize import tokenize, NAME, OP, STRING, ENDMARKER, ENCODING __all__ = ['interpret'] @@ -32,7 +31,8 @@ _VARS = {'sys.platform': sys.platform, 'os.name': os.name, 'platform.version': platform.version(), 'platform.machine': platform.machine(), - 'platform.python_implementation': platform.python_implementation()} + 'platform.python_implementation': platform.python_implementation(), + } class _Operation: diff --git a/distutils2/pypi/simple.py b/distutils2/pypi/simple.py index b5432a4..5e2aed2 100644 --- a/distutils2/pypi/simple.py +++ b/distutils2/pypi/simple.py @@ -18,9 +18,9 @@ import os from fnmatch import translate from functools import wraps from distutils2 import logger -from distutils2.metadata import Metadata -from distutils2.version import get_version_predicate from distutils2 import __version__ as distutils2_version +from distutils2.version import get_version_predicate +from distutils2.metadata import Metadata from distutils2.pypi.base import BaseClient from distutils2.pypi.dist import (ReleasesList, EXTENSIONS, get_infos_from_url, MD5_HASH) diff --git a/distutils2/run.py b/distutils2/run.py index d2f1eb6..e2529bb 100644 --- a/distutils2/run.py +++ b/distutils2/run.py @@ -9,7 +9,6 @@ import logging from distutils2 import logger from distutils2.dist import Distribution from distutils2.util import _is_archive_file, generate_setup_py -from distutils2.compat import callable from distutils2.command import get_command_class, STANDARD_COMMANDS from distutils2.install import install, install_local_project, remove from distutils2.database import get_distribution, get_distributions @@ -18,6 +17,7 @@ from distutils2.fancy_getopt import FancyGetopt from distutils2.errors import (PackagingArgError, PackagingError, PackagingModuleError, PackagingClassError, CCompilerError) +from distutils2._backport.misc import callable command_re = re.compile(r'^[a-zA-Z]([a-zA-Z0-9_]*)$') diff --git a/distutils2/util.py b/distutils2/util.py index 97c69c6..22bdaa6 100644 --- a/distutils2/util.py +++ b/distutils2/util.py @@ -16,11 +16,11 @@ from inspect import getsource from configparser import RawConfigParser from distutils2 import logger -from distutils2.compat import cache_from_source from distutils2.errors import (PackagingPlatformError, PackagingFileError, PackagingExecError, InstallationException, PackagingInternalError) from distutils2._backport import shutil, sysconfig +from distutils2._backport.misc import cache_from_source __all__ = [ # file dependencies |