[Python-checkins] r56384 - in sandbox/trunk/2to3: fixes/fix_stringio.py tests/test_fixers.py

collin.winter python-checkins at python.org
Sun Jul 15 00:33:12 CEST 2007


Author: collin.winter
Date: Sun Jul 15 00:33:11 2007
New Revision: 56384

Modified:
   sandbox/trunk/2to3/   (props changed)
   sandbox/trunk/2to3/fixes/fix_stringio.py
   sandbox/trunk/2to3/tests/test_fixers.py
Log:
Add support for 'from StringIO import *' to StringIO fixer.


Modified: sandbox/trunk/2to3/fixes/fix_stringio.py
==============================================================================
--- sandbox/trunk/2to3/fixes/fix_stringio.py	(original)
+++ sandbox/trunk/2to3/fixes/fix_stringio.py	Sun Jul 15 00:33:11 2007
@@ -24,6 +24,8 @@
     import_from< 'from' module_name='StringIO' 'import'
                  ( 'StringIO' | import_as_name< 'StringIO' 'as' any >) >
     |
+    import_from< 'from' module_name='StringIO' 'import' star='*' >
+    |
     import_name< 'import' dotted_as_name< module_name='StringIO' 'as' any > >
     |
     power< module_name='StringIO' trailer< '.' 'StringIO' > any* >
@@ -51,11 +53,14 @@
         import_mod = results.get("module")
         module_name = results.get("module_name")
         bare_name = results.get("bare_name")
+        star = results.get("star")
 
         if import_mod:
             self.module_import = True
             import_mod.replace(Name("io", prefix=import_mod.get_prefix()))
         elif module_name:
             module_name.replace(Name("io", prefix=module_name.get_prefix()))
+            if star:
+                star.replace(Name("StringIO", prefix=star.get_prefix()))
         elif bare_name and self.module_import:
             bare_name.replace(Name("io", prefix=bare_name.get_prefix()))

Modified: sandbox/trunk/2to3/tests/test_fixers.py
==============================================================================
--- sandbox/trunk/2to3/tests/test_fixers.py	(original)
+++ sandbox/trunk/2to3/tests/test_fixers.py	Sun Jul 15 00:33:11 2007
@@ -1197,6 +1197,10 @@
         a = "from io import StringIO"
         self.check(b, a)
 
+        b = "from StringIO import *"
+        a = "from io import StringIO"
+        self.check(b, a)
+
         s = "from foo import StringIO"
         self.check(s, s)
 


More information about the Python-checkins mailing list