@@ -384,6 +384,18 @@ def byte_compile(self, files):
384384 byte_compile (files , optimize = self .optimize ,
385385 force = self .force , prefix = prefix , dry_run = self .dry_run )
386386
387+ from lib2to3 .refactor import RefactoringTool , get_fixers_from_package
388+ class DistutilsRefactoringTool (RefactoringTool ):
389+ def log_error (self , msg , * args , ** kw ):
390+ # XXX ignores kw
391+ log .error (msg , * args )
392+
393+ def log_message (self , msg , * args ):
394+ log .info (msg , * args )
395+
396+ def log_debug (self , msg , * args ):
397+ log .debug (msg , * args )
398+
387399class build_py_2to3 (build_py ):
388400 def run (self ):
389401 self .updated_files = []
@@ -396,18 +408,12 @@ def run(self):
396408 self .build_package_data ()
397409
398410 # 2to3
399- from lib2to3 .refactor import RefactoringTool
400- class Options :
401- pass
402- o = Options ()
403- o .doctests_only = False
404- o .fix = []
405- o .list_fixes = []
406- o .print_function = False
407- o .verbose = False
408- o .write = True
409- r = RefactoringTool (o )
410- r .refactor_args (self .updated_files )
411+ fixers = get_fixers_from_package ('lib2to3.fixes' )
412+ options = dict (fix = [], list_fixes = [],
413+ print_function = False , verbose = False ,
414+ write = True )
415+ r = DistutilsRefactoringTool (fixers , options )
416+ r .refactor (self .updated_files , write = True )
411417
412418 # Remaining base class code
413419 self .byte_compile (self .get_outputs (include_bytecode = 0 ))
0 commit comments