/Lib/lib2to3/fixes/fix_repr.py

http://unladen-swallow.googlecode.com/ · Python · 22 lines · 11 code · 7 blank · 4 comment · 1 complexity · badd6b1054395732bd64df829d16cf96 MD5 · raw file

  1. # Copyright 2006 Google, Inc. All Rights Reserved.
  2. # Licensed to PSF under a Contributor Agreement.
  3. """Fixer that transforms `xyzzy` into repr(xyzzy)."""
  4. # Local imports
  5. from .. import fixer_base
  6. from ..fixer_util import Call, Name, parenthesize
  7. class FixRepr(fixer_base.BaseFix):
  8. PATTERN = """
  9. atom < '`' expr=any '`' >
  10. """
  11. def transform(self, node, results):
  12. expr = results["expr"].clone()
  13. if expr.type == self.syms.testlist1:
  14. expr = parenthesize(expr)
  15. return Call(Name("repr"), [expr], prefix=node.get_prefix())