symbian-qemu-0.9.1-12/python-2.6.1/Lib/lib2to3/fixes/fix_xreadlines.py
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 """Fix "for x in f.xreadlines()" -> "for x in f".
       
     2 
       
     3 This fixer will also convert g(f.xreadlines) into g(f.__iter__)."""
       
     4 # Author: Collin Winter
       
     5 
       
     6 # Local imports
       
     7 from .. import fixer_base
       
     8 from ..fixer_util import Name
       
     9 
       
    10 
       
    11 class FixXreadlines(fixer_base.BaseFix):
       
    12     PATTERN = """
       
    13     power< call=any+ trailer< '.' 'xreadlines' > trailer< '(' ')' > >
       
    14     |
       
    15     power< any+ trailer< '.' no_call='xreadlines' > >
       
    16     """
       
    17 
       
    18     def transform(self, node, results):
       
    19         no_call = results.get("no_call")
       
    20 
       
    21         if no_call:
       
    22             no_call.replace(Name("__iter__", prefix=no_call.get_prefix()))
       
    23         else:
       
    24             node.replace([x.clone() for x in results["call"]])