[Python-checkins] r67404 - in sandbox/trunk/2to3/lib2to3/fixes: fix_imports.py fix_imports2.py fix_urllib.py

benjamin.peterson python-checkins at python.org
Wed Nov 26 20:29:50 CET 2008


Author: benjamin.peterson
Date: Wed Nov 26 20:29:49 2008
New Revision: 67404

Log:
build the fix_imports pattern in compile_pattern, so MAPPING can be changed and reflected in the pattern

Modified:
   sandbox/trunk/2to3/lib2to3/fixes/fix_imports.py
   sandbox/trunk/2to3/lib2to3/fixes/fix_imports2.py
   sandbox/trunk/2to3/lib2to3/fixes/fix_urllib.py

Modified: sandbox/trunk/2to3/lib2to3/fixes/fix_imports.py
==============================================================================
--- sandbox/trunk/2to3/lib2to3/fixes/fix_imports.py	(original)
+++ sandbox/trunk/2to3/lib2to3/fixes/fix_imports.py	Wed Nov 26 20:29:49 2008
@@ -84,12 +84,20 @@
 
 class FixImports(fixer_base.BaseFix):
 
-    PATTERN = "|".join(build_pattern())
     order = "pre" # Pre-order tree traversal
 
     # This is overridden in fix_imports2.
     mapping = MAPPING
 
+    def build_pattern(self):
+        return "|".join(build_pattern(self.mapping))
+
+    def compile_pattern(self):
+        # We override this, so MAPPING can be pragmatically altered and the
+        # changes will be reflected in PATTERN.
+        self.PATTERN = self.build_pattern()
+        super(FixImports, self).compile_pattern()
+
     # Don't match the node if it's within another match.
     def match(self, node):
         match = super(FixImports, self).match

Modified: sandbox/trunk/2to3/lib2to3/fixes/fix_imports2.py
==============================================================================
--- sandbox/trunk/2to3/lib2to3/fixes/fix_imports2.py	(original)
+++ sandbox/trunk/2to3/lib2to3/fixes/fix_imports2.py	Wed Nov 26 20:29:49 2008
@@ -10,7 +10,6 @@
 
 
 class FixImports2(fix_imports.FixImports):
-    PATTERN = "|".join((fix_imports.build_pattern(MAPPING)))
 
     order = "post"
 

Modified: sandbox/trunk/2to3/lib2to3/fixes/fix_urllib.py
==============================================================================
--- sandbox/trunk/2to3/lib2to3/fixes/fix_urllib.py	(original)
+++ sandbox/trunk/2to3/lib2to3/fixes/fix_urllib.py	Wed Nov 26 20:29:49 2008
@@ -65,7 +65,9 @@
 
 
 class FixUrllib(FixImports):
-    PATTERN = "|".join(build_pattern())
+
+    def build_pattern(self):
+        return "|".join(build_pattern())
 
     def transform_import(self, node, results):
         """Transform for the basic import case. Replaces the old


More information about the Python-checkins mailing list