symbian-qemu-0.9.1-12/python-win32-2.6.1/lib/lib2to3/fixes/fix_xreadlines.py
author Gareth Stockwell <gareth.stockwell@accenture.com>
Tue, 14 Sep 2010 17:21:05 +0100
branchgraphics-phase-3
changeset 108 ae83407e7b6a
parent 1 2fb8b9db1c86
permissions -rw-r--r--
Added Makefile for building syborg-graphicswrapper using GCC At present the build fails due to the following missing headers: KhronosAPIWrapper.h VirtualVideoInterfaceConstants.h platformthreading.h protocol_MGraphicsVHWCallback.h

"""Fix "for x in f.xreadlines()" -> "for x in f".

This fixer will also convert g(f.xreadlines) into g(f.__iter__)."""
# Author: Collin Winter

# Local imports
from .. import fixer_base
from ..fixer_util import Name


class FixXreadlines(fixer_base.BaseFix):
    PATTERN = """
    power< call=any+ trailer< '.' 'xreadlines' > trailer< '(' ')' > >
    |
    power< any+ trailer< '.' no_call='xreadlines' > >
    """

    def transform(self, node, results):
        no_call = results.get("no_call")

        if no_call:
            no_call.replace(Name("__iter__", prefix=no_call.get_prefix()))
        else:
            node.replace([x.clone() for x in results["call"]])