home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2011 July / maximum-cd-2011-07.iso / DiscContents / LibO_3.3.2_Win_x86_install_multi.exe / libreoffice1.cab / fix_nonzero.py < prev    next >
Encoding:
Python Source  |  2011-03-15  |  578 b   |  21 lines

  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, syms
  7.  
  8. class FixNonzero(fixer_base.BaseFix):
  9.     PATTERN = """
  10.     classdef< 'class' any+ ':'
  11.               suite< any*
  12.                      funcdef< 'def' name='__nonzero__'
  13.                               parameters< '(' NAME ')' > any+ >
  14.                      any* > >
  15.     """
  16.  
  17.     def transform(self, node, results):
  18.         name = results["name"]
  19.         new = Name("__bool__", prefix=name.get_prefix())
  20.         name.replace(new)
  21.