diff options
Diffstat (limited to 'Doc/tools/sgmlconv/esistools.py')
-rw-r--r-- | Doc/tools/sgmlconv/esistools.py | 10 |
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): |