summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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
commitc2e31bfbb48378e4ee91885046cc05765a54eabc (patch)
treef92c28c6934ab61d526aac7227aee729f66c7238
parentc888a6c48cc14834274c8d6b8553c2383900774e (diff)
parentbb11fef9c016c68e89b8a83f1a95206859291d8a (diff)
downloaddisutils2-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__.py6
-rw-r--r--distutils2/_backport/misc.py36
-rw-r--r--distutils2/command/build_py.py3
-rw-r--r--distutils2/command/build_scripts.py2
-rw-r--r--distutils2/command/install_lib.py2
-rw-r--r--distutils2/compat.py38
-rw-r--r--distutils2/dist.py2
-rw-r--r--distutils2/markers.py6
-rw-r--r--distutils2/pypi/simple.py4
-rw-r--r--distutils2/run.py2
-rw-r--r--distutils2/util.py2
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