"""Fixer that changes unicode to str, unichr to chr, and u"..." into "...".



"""



import re

from ..pgen2 import token

from .. import fixer_base



class FixUnicode(fixer_base.BaseFix):



    PATTERN = "STRING | NAME<'unicode' | 'unichr'>"



    def transform(self, node, results):

        if node.type == token.NAME:

            if node.value == "unicode":

                new = node.clone()

                new.value = "str"

                return new

            if node.value == "unichr":

                new = node.clone()

                new.value = "chr"

                return new

            # XXX Warn when __unicode__ found?

        elif node.type == token.STRING:

            if re.match(r"[uU][rR]?[\'\"]", node.value):

                new = node.clone()

                new.value = new.value[1:]

                return new

