-"""Fix "for x in f.xreadlines()" -> "for x in f".\r
-\r
-This fixer will also convert g(f.xreadlines) into g(f.__iter__)."""\r
-# Author: Collin Winter\r
-\r
-# Local imports\r
-from .. import fixer_base\r
-from ..fixer_util import Name\r
-\r
-\r
-class FixXreadlines(fixer_base.BaseFix):\r
- BM_compatible = True\r
- PATTERN = """\r
- power< call=any+ trailer< '.' 'xreadlines' > trailer< '(' ')' > >\r
- |\r
- power< any+ trailer< '.' no_call='xreadlines' > >\r
- """\r
-\r
- def transform(self, node, results):\r
- no_call = results.get("no_call")\r
-\r
- if no_call:\r
- no_call.replace(Name(u"__iter__", prefix=no_call.prefix))\r
- else:\r
- node.replace([x.clone() for x in results["call"]])\r