home *** CD-ROM | disk | FTP | other *** search
- """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
-