symbian-qemu-0.9.1-12/python-win32-2.6.1/lib/lib2to3/fixes/fix_unicode.py
author Simon Howkins <simonh@symbian.org>
Thu, 03 Dec 2009 15:24:11 +0000
changeset 25 1a93ed2e38bd
parent 1 2fb8b9db1c86
permissions -rw-r--r--
Removed REE_PATH option as it's no longer needed.

"""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