1 """Fixer for __nonzero__ -> __bool__ methods."""
2 # Author: Collin Winter
3
4 # Local imports
5 from .. import fixer_base
6 from ..fixer_util import Name
7
8 class ESC[4;38;5;81mFixNonzero(ESC[4;38;5;149mfixer_baseESC[4;38;5;149m.ESC[4;38;5;149mBaseFix):
9 BM_compatible = True
10 PATTERN = """
11 classdef< 'class' any+ ':'
12 suite< any*
13 funcdef< 'def' name='__nonzero__'
14 parameters< '(' NAME ')' > any+ >
15 any* > >
16 """
17
18 def transform(self, node, results):
19 name = results["name"]
20 new = Name("__bool__", prefix=name.prefix)
21 name.replace(new)