Kaydet (Commit) 33b6450d authored tarafından Martin v. Löwis's avatar Martin v. Löwis

Issue #4072: Restore build_py_2to3. Add a distutils demo for

build_py_2to3.
üst aa306692
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
# -*- 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. Lwis",
author_email = "python-dev@python.org",
license = "PSF license",
packages = ["test2to3"],
cmdclass = {'build_py':build_py}
)
def hello():
try:
print "Hello, world"
except IOError, e:
print e.errno
......@@ -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
============================================
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment