|
|
"""Fixer that changes input(...) into eval(input(...)).""" |
|
|
|
|
|
|
|
|
|
|
|
from .. import fixer_base |
|
|
from ..fixer_util import Call, Name |
|
|
from .. import patcomp |
|
|
|
|
|
|
|
|
context = patcomp.compile_pattern("power< 'eval' trailer< '(' any ')' > >") |
|
|
|
|
|
|
|
|
class FixInput(fixer_base.BaseFix): |
|
|
BM_compatible = True |
|
|
PATTERN = """ |
|
|
power< 'input' args=trailer< '(' [any] ')' > > |
|
|
""" |
|
|
|
|
|
def transform(self, node, results): |
|
|
|
|
|
if context.match(node.parent.parent): |
|
|
return |
|
|
|
|
|
new = node.clone() |
|
|
new.prefix = "" |
|
|
return Call(Name("eval"), [new], prefix=node.prefix) |
|
|
|