home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.6)
-
- '''Fixer for apply().
-
- This converts apply(func, v, k) into (func)(*v, **k).'''
- from import pytree
- from pgen2 import token
- from import fixer_base
- from fixer_util import Call, Comma, parenthesize
-
- class FixApply(fixer_base.BaseFix):
- PATTERN = "\n power< 'apply'\n trailer<\n '('\n arglist<\n (not argument<NAME '=' any>) func=any ','\n (not argument<NAME '=' any>) args=any [','\n (not argument<NAME '=' any>) kwds=any] [',']\n >\n ')'\n >\n >\n "
-
- def transform(self, node, results):
- syms = self.syms
- if not results:
- raise AssertionError
- func = results['func']
- args = results['args']
- kwds = results.get('kwds')
- prefix = node.get_prefix()
- func = func.clone()
- if func.type not in (token.NAME, syms.atom):
- if func.type != syms.power or func.children[-2].type == token.DOUBLESTAR:
- func = parenthesize(func)
-
- func.set_prefix('')
- args = args.clone()
- args.set_prefix('')
- if kwds is not None:
- kwds = kwds.clone()
- kwds.set_prefix('')
-
- l_newargs = [
- pytree.Leaf(token.STAR, '*'),
- args]
- if kwds is not None:
- l_newargs.extend([
- Comma(),
- pytree.Leaf(token.DOUBLESTAR, '**'),
- kwds])
- l_newargs[-2].set_prefix(' ')
-
- return Call(func, l_newargs, prefix = prefix)
-
-
-