diff options
-rw-r--r-- | Demo/distutils/test2to3/README | 3 | ||||
-rw-r--r-- | Demo/distutils/test2to3/setup.py | 18 | ||||
-rw-r--r-- | Demo/distutils/test2to3/test2to3/__init__.py | 1 | ||||
-rw-r--r-- | Demo/distutils/test2to3/test2to3/hello.py | 5 | ||||
-rw-r--r-- | Lib/distutils/command/build_py.py | 30 | ||||
-rw-r--r-- | Misc/NEWS | 7 |
6 files changed, 52 insertions, 12 deletions
diff --git a/Demo/distutils/test2to3/README b/Demo/distutils/test2to3/README new file mode 100644 index 0000000..9365593 --- /dev/null +++ b/Demo/distutils/test2to3/README @@ -0,0 +1,3 @@ +This project demonstrates how a distutils package +can support Python 2.x and Python 3.x from a single +source, using lib2to3.
\ No newline at end of file diff --git a/Demo/distutils/test2to3/setup.py b/Demo/distutils/test2to3/setup.py new file mode 100644 index 0000000..3abb5ff --- /dev/null +++ b/Demo/distutils/test2to3/setup.py @@ -0,0 +1,18 @@ +# -*- coding: iso-8859-1 -*- +from distutils.core import setup + +try: + from distutils.command.build_py import build_py_2to3 as build_py +except ImportError: + from distutils.command.build_py import build_py + +setup( + name = "test2to3", + version = "1.0", + description = "2to3 distutils test package", + author = "Martin v. Löwis", + author_email = "python-dev@python.org", + license = "PSF license", + packages = ["test2to3"], + cmdclass = {'build_py':build_py} +) diff --git a/Demo/distutils/test2to3/test2to3/__init__.py b/Demo/distutils/test2to3/test2to3/__init__.py new file mode 100644 index 0000000..1bb8bf6 --- /dev/null +++ b/Demo/distutils/test2to3/test2to3/__init__.py @@ -0,0 +1 @@ +# empty diff --git a/Demo/distutils/test2to3/test2to3/hello.py b/Demo/distutils/test2to3/test2to3/hello.py new file mode 100644 index 0000000..f52926b --- /dev/null +++ b/Demo/distutils/test2to3/test2to3/hello.py @@ -0,0 +1,5 @@ +def hello(): + try: + print "Hello, world" + except IOError, e: + print e.errno diff --git a/Lib/distutils/command/build_py.py b/Lib/distutils/command/build_py.py index 09f6d23..7728489 100644 --- a/Lib/distutils/command/build_py.py +++ b/Lib/distutils/command/build_py.py @@ -384,6 +384,18 @@ class build_py (Command): byte_compile(files, optimize=self.optimize, force=self.force, prefix=prefix, dry_run=self.dry_run) +from lib2to3.refactor import RefactoringTool, get_fixers_from_package +class DistutilsRefactoringTool(RefactoringTool): + def log_error(self, msg, *args, **kw): + # XXX ignores kw + log.error(msg, *args) + + def log_message(self, msg, *args): + log.info(msg, *args) + + def log_debug(self, msg, *args): + log.debug(msg, *args) + class build_py_2to3(build_py): def run(self): self.updated_files = [] @@ -396,18 +408,12 @@ class build_py_2to3(build_py): self.build_package_data() # 2to3 - from lib2to3.refactor import RefactoringTool - class Options: - pass - o = Options() - o.doctests_only = False - o.fix = [] - o.list_fixes = [] - o.print_function = False - o.verbose = False - o.write = True - r = RefactoringTool(o) - r.refactor_args(self.updated_files) + fixers = get_fixers_from_package('lib2to3.fixes') + options = dict(fix=[], list_fixes=[], + print_function=False, verbose=False, + write=True) + r = DistutilsRefactoringTool(fixers, options) + r.refactor(self.updated_files, write=True) # Remaining base class code self.byte_compile(self.get_outputs(include_bytecode=0)) @@ -31,6 +31,8 @@ Core and Builtins Library ------- +- Issue #4072: Restore build_py_2to3. + - Issue #4014: Don't claim that Python has an Alpha release status, in addition to claiming it is Mature. @@ -63,6 +65,11 @@ Build - Issue #4018: Disable "for me" installations on Vista. +Tools/Demos +----------- + +- Issue #4072: Add a distutils demo for build_py_2to3. + What's New in Python 3.0 release candidate 1 ============================================ |