[Python-checkins] r86891 - python/branches/py3k/Tools/unicode/gencodec.py

alexander.belopolsky python-checkins at python.org
Tue Nov 30 17:56:16 CET 2010


Author: alexander.belopolsky
Date: Tue Nov 30 17:56:15 2010
New Revision: 86891
Log:
Issue #10552: Partially fixed a sort error in Tools/unicode/gencodec.py
Modified:
 python/branches/py3k/Tools/unicode/gencodec.py
Modified: python/branches/py3k/Tools/unicode/gencodec.py
==============================================================================
--- python/branches/py3k/Tools/unicode/gencodec.py	(original)
+++ python/branches/py3k/Tools/unicode/gencodec.py	Tue Nov 30 17:56:15 2010
@@ -34,6 +34,9 @@
 # Standard undefined Unicode code point
 UNI_UNDEFINED = chr(0xFFFE)
 
+# Placeholder for a missing codepoint
+MISSING_CODE = -1
+
 mapRE = re.compile('((?:0x[0-9a-fA-F]+\+?)+)'
 '\s+'
 '((?:(?:0x[0-9a-fA-Z]+|<[A-Za-z]+>)\+?)*)'
@@ -52,7 +55,7 @@
 
 """
 if not codes:
- return None
+ return MISSING_CODE
 l = codes.split('+')
 if len(l) == 1:
 return int(l[0],16)
@@ -60,8 +63,8 @@
 try:
 l[i] = int(l[i],16)
 except ValueError:
- l[i] = None
- l = [x for x in l if x is not None]
+ l[i] = MISSING_CODE
+ l = [x for x in l if x != MISSING_CODE]
 if len(l) == 1:
 return l[0]
 else:
@@ -113,7 +116,7 @@
 # mappings to None for the rest
 if len(identity) >= len(unmapped):
 for enc in unmapped:
- enc2uni[enc] = (None, "")
+ enc2uni[enc] = (MISSING_CODE, "")
 enc2uni['IDENTITY'] = 256
 
 return enc2uni
@@ -211,7 +214,7 @@
 (mapkey, mapcomment) = mapkey
 if isinstance(mapvalue, tuple):
 (mapvalue, mapcomment) = mapvalue
- if mapkey is None:
+ if mapkey == MISSING_CODE:
 continue
 table[mapkey] = (mapvalue, mapcomment)
 if mapkey > maxkey:
@@ -223,11 +226,11 @@
 # Create table code
 for key in range(maxkey + 1):
 if key not in table:
- mapvalue = None
+ mapvalue = MISSING_CODE
 mapcomment = 'UNDEFINED'
 else:
 mapvalue, mapcomment = table[key]
- if mapvalue is None:
+ if mapvalue == MISSING_CODE:
 mapchar = UNI_UNDEFINED
 else:
 if isinstance(mapvalue, tuple):


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /