[Python-checkins] CVS: python/dist/src/Doc/tools/sgmlconv esistools.py,1.6,1.7

Fred L. Drake fdrake@users.sourceforge.net
Fri, 20 Apr 2001 23:01:55 -0700


Update of /cvsroot/python/python/dist/src/Doc/tools/sgmlconv
In directory usw-pr-cvs1:/tmp/cvs-serv29783

Modified Files:
	esistools.py 
Log Message:

encode():  Handle Latin-1 input characters better.


Index: esistools.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Doc/tools/sgmlconv/esistools.py,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -r1.6 -r1.7
*** esistools.py	2001/03/23 17:09:02	1.6
--- esistools.py	2001/04/21 06:01:53	1.7
***************
*** 36,41 ****
  
  _charmap = {}
! for c in map(chr, range(256)):
!     _charmap[c] = c
  _charmap["\n"] = r"\n"
  _charmap["\\"] = r"\\"
--- 36,42 ----
  
  _charmap = {}
! for c in range(128):
!     _charmap[chr(c)] = chr(c)
!     _charmap[unichr(c + 128)] = chr(c + 128)
  _charmap["\n"] = r"\n"
  _charmap["\\"] = r"\\"
***************
*** 44,48 ****
  _null_join = ''.join
  def encode(s):
!     return _null_join(map(_charmap.get, s))
  
  
--- 45,52 ----
  _null_join = ''.join
  def encode(s):
!     try:
!         return _null_join(map(_charmap.get, s))
!     except TypeError:
!         raise Exception("could not encode %r: %r" % (s, map(_charmap.get, s)))