/Lib/lib2to3/fixes/fix_reduce.py
http://unladen-swallow.googlecode.com/ · Python · 33 lines · 19 code · 7 blank · 7 comment · 0 complexity · 2fee5cc1f796c98a749dc789199da016 MD5 · raw file
- # Copyright 2008 Armin Ronacher.
- # Licensed to PSF under a Contributor Agreement.
- """Fixer for reduce().
- Makes sure reduce() is imported from the functools module if reduce is
- used in that module.
- """
- from .. import pytree
- from .. import fixer_base
- from ..fixer_util import Name, Attr, touch_import
- class FixReduce(fixer_base.BaseFix):
- PATTERN = """
- power< 'reduce'
- trailer< '('
- arglist< (
- (not(argument<any '=' any>) any ','
- not(argument<any '=' any>) any) |
- (not(argument<any '=' any>) any ','
- not(argument<any '=' any>) any ','
- not(argument<any '=' any>) any)
- ) >
- ')' >
- >
- """
- def transform(self, node, results):
- touch_import('functools', 'reduce', node)