Staging
v0.5.1
https://github.com/python/cpython
Raw File
Tip revision: d5c59763adc85b1ed931465bb29fc451f19516b7 authored by Larry Hastings on 09 March 2014, 11:13:05 UTC
Version bump for 3.4.0rc3.
Tip revision: d5c5976
fix_repr.py
# Copyright 2006 Google, Inc. All Rights Reserved.
# Licensed to PSF under a Contributor Agreement.

"""Fixer that transforms `xyzzy` into repr(xyzzy)."""

# Local imports
from .. import fixer_base
from ..fixer_util import Call, Name, parenthesize


class FixRepr(fixer_base.BaseFix):

    BM_compatible = True
    PATTERN = """
              atom < '`' expr=any '`' >
              """

    def transform(self, node, results):
        expr = results["expr"].clone()

        if expr.type == self.syms.testlist1:
            expr = parenthesize(expr)
        return Call(Name("repr"), [expr], prefix=node.prefix)
back to top