| # Copyright 2006 Georg Brandl. |
| # Licensed to PSF under a Contributor Agreement. |
| |
| """Fixer for intern(). |
| |
| intern(s) -> sys.intern(s)""" |
| |
| # Local imports |
| from .. import fixer_base |
| from ..fixer_util import ImportAndCall, touch_import |
| |
| |
| class FixIntern(fixer_base.BaseFix): |
| BM_compatible = True |
| order = "pre" |
| |
| PATTERN = """ |
| power< 'intern' |
| trailer< lpar='(' |
| ( not(arglist | argument<any '=' any>) obj=any |
| | obj=arglist<(not argument<any '=' any>) any ','> ) |
| rpar=')' > |
| after=any* |
| > |
| """ |
| |
| def transform(self, node, results): |
| names = ('sys', 'intern') |
| new = ImportAndCall(node, results, names) |
| touch_import(None, 'sys', node) |
| return new |