aboutsummaryrefslogtreecommitdiffstats
path: root/setuptools/command/build_py.py
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2011-10-04 11:01:49 -0400
committerJason R. Coombs <jaraco@jaraco.com>2011-10-04 11:01:49 -0400
commit694a9231f495a82cf62340f9b98eb4fd7272ecf3 (patch)
tree64b9ae456f9bec343e2331340b482c6bb7370912 /setuptools/command/build_py.py
parentd36c067b3247bf7dc3102051b088fe744ac74ae0 (diff)
downloadexternal_python_setuptools-694a9231f495a82cf62340f9b98eb4fd7272ecf3.tar.gz
external_python_setuptools-694a9231f495a82cf62340f9b98eb4fd7272ecf3.tar.bz2
external_python_setuptools-694a9231f495a82cf62340f9b98eb4fd7272ecf3.zip
Added options to exclude 2to3 fixers. Fixes #249
--HG-- branch : distribute extra : rebase_source : 2033bcdd4c2e78e0e03796f1f9cf6d6e9a59fc21
Diffstat (limited to 'setuptools/command/build_py.py')
-rw-r--r--setuptools/command/build_py.py28
1 files changed, 21 insertions, 7 deletions
diff --git a/setuptools/command/build_py.py b/setuptools/command/build_py.py
index a01e2843..d53960fe 100644
--- a/setuptools/command/build_py.py
+++ b/setuptools/command/build_py.py
@@ -28,13 +28,8 @@ try:
if not files:
return
log.info("Fixing "+" ".join(files))
- if not self.fixer_names:
- self.fixer_names = []
- for p in setuptools.lib2to3_fixer_packages:
- self.fixer_names.extend(get_fixers_from_package(p))
- if self.distribution.use_2to3_fixers is not None:
- for p in self.distribution.use_2to3_fixers:
- self.fixer_names.extend(get_fixers_from_package(p))
+ self.__build_fixer_names()
+ self.__exclude_fixers()
if doctests:
if setuptools.run_2to3_on_doctests:
r = DistutilsRefactoringTool(self.fixer_names)
@@ -42,6 +37,25 @@ try:
else:
_Mixin2to3.run_2to3(self, files)
+ def __build_fixer_names(self):
+ if self.fixer_names: return
+ self.fixer_names = []
+ for p in setuptools.lib2to3_fixer_packages:
+ self.fixer_names.extend(get_fixers_from_package(p))
+ if self.distribution.use_2to3_fixers is not None:
+ for p in self.distribution.use_2to3_fixers:
+ self.fixer_names.extend(get_fixers_from_package(p))
+
+ def __exclude_fixers(self):
+ excluded_fixers = getattr(self, 'exclude_fixers', [])
+ if self.distribution.use_2to3_exclude_fixers is not None:
+ excluded_fixers.extend(self.distribution.use_2to3_exclude_fixers)
+ for fixer_name in excluded_fixers:
+ if fixer_name not in self.fixer_names:
+ log.warn("Excluded fixer %s not found", fixer_name)
+ continue
+ self.fixer_names.remove(fixer_name)
+
except ImportError:
class Mixin2to3:
def run_2to3(self, files, doctests=True):