/Lib/lib2to3/fixes/fix_nonzero.py

http://unladen-swallow.googlecode.com/ · Python · 20 lines · 14 code · 3 blank · 3 comment · 0 complexity · 6f8983345b023d63ddce248a93c5db83 MD5 · raw file

  1. """Fixer for __nonzero__ -> __bool__ methods."""
  2. # Author: Collin Winter
  3. # Local imports
  4. from .. import fixer_base
  5. from ..fixer_util import Name, syms
  6. class FixNonzero(fixer_base.BaseFix):
  7. PATTERN = """
  8. classdef< 'class' any+ ':'
  9. suite< any*
  10. funcdef< 'def' name='__nonzero__'
  11. parameters< '(' NAME ')' > any+ >
  12. any* > >
  13. """
  14. def transform(self, node, results):
  15. name = results["name"]
  16. new = Name("__bool__", prefix=name.get_prefix())
  17. name.replace(new)