summaryrefslogtreecommitdiffstats
path: root/Lib/distutils/command
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2008-10-15 05:58:17 (GMT)
committerMartin v. Löwis <martin@v.loewis.de>2008-10-15 05:58:17 (GMT)
commit33b6450d23cbe66457e3392b9d187f20d888601c (patch)
treebc4b4c3a1c58f04a8b4b6b6103967a3d8dcc7897 /Lib/distutils/command
parentaa3066925acdd5ff3b709043138b2ff6ef53c5dd (diff)
downloadcpython-33b6450d23cbe66457e3392b9d187f20d888601c.zip
cpython-33b6450d23cbe66457e3392b9d187f20d888601c.tar.gz
cpython-33b6450d23cbe66457e3392b9d187f20d888601c.tar.bz2
Issue #4072: Restore build_py_2to3. Add a distutils demo for
build_py_2to3.
Diffstat (limited to 'Lib/distutils/command')
-rw-r--r--Lib/distutils/command/build_py.py30
1 files changed, 18 insertions, 12 deletions
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))