summaryrefslogtreecommitdiffstats
path: root/Doc/tools/sgmlconv/esistools.py
diff options
context:
space:
mode:
Diffstat (limited to 'Doc/tools/sgmlconv/esistools.py')
-rw-r--r--Doc/tools/sgmlconv/esistools.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/Doc/tools/sgmlconv/esistools.py b/Doc/tools/sgmlconv/esistools.py
index 893af76..7feeada 100644
--- a/Doc/tools/sgmlconv/esistools.py
+++ b/Doc/tools/sgmlconv/esistools.py
@@ -35,15 +35,19 @@ def decode(s):
_charmap = {}
-for c in map(chr, range(256)):
- _charmap[c] = c
+for c in range(128):
+ _charmap[chr(c)] = chr(c)
+ _charmap[unichr(c + 128)] = chr(c + 128)
_charmap["\n"] = r"\n"
_charmap["\\"] = r"\\"
del c
_null_join = ''.join
def encode(s):
- return _null_join(map(_charmap.get, s))
+ try:
+ return _null_join(map(_charmap.get, s))
+ except TypeError:
+ raise Exception("could not encode %r: %r" % (s, map(_charmap.get, s)))
class ESISReader(xml.sax.xmlreader.XMLReader):