Better handing of python2 and SAX

svn: r120
This commit is contained in:
Don Allingham
2001-06-12 23:24:46 +00:00
parent a0d9323557
commit 38cb929abb
5 changed files with 66 additions and 41 deletions

View File

@@ -23,6 +23,7 @@ from Researcher import Researcher
import string
import os
import sys
from xml.sax import handler
@@ -31,11 +32,14 @@ from xml.sax import handler
# Try to abstract SAX1 from SAX2
#
#-------------------------------------------------------------------------
try:
import xml.sax.saxexts
sax = 1
except:
if sys.version[0] != '1':
sax = 2
else:
try:
import xml.sax.saxexts
sax = 1
except:
sax = 2
from latin_utf8 import utf8_to_latin

View File

@@ -30,6 +30,7 @@ import gzip
import os
from gnome.ui import *
import sys
import xml.sax
import xml.sax.saxutils
@@ -38,11 +39,15 @@ import xml.sax.saxutils
# Try to abstract SAX1 from SAX2
#
#-------------------------------------------------------------------------
try:
import xml.sax.saxexts
sax = 1
except:
if sys.version[0] != '1':
sax = 2
else:
try:
import xml.sax.saxexts
sax = 1
except:
sax = 2
#-------------------------------------------------------------------------
#

View File

@@ -20,6 +20,7 @@
import string
import os
import sys
import xml.sax
import xml.sax.saxutils
import utils
@@ -29,12 +30,14 @@ import utils
# Try to abstract SAX1 from SAX2
#
#-------------------------------------------------------------------------
try:
import xml.sax.saxexts
sax = 1
except:
if sys.version[0] != '1':
sax = 2
else:
try:
import xml.sax.saxexts
sax = 1
except:
sax = 2
FONT_SANS_SERIF = 0
FONT_SERIF = 1

View File

@@ -18,35 +18,44 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
import cStringIO
import sys
try:
from xml.unicode.utf8_iso import code_to_utf8
from xml.unicode.iso8859 import UTF8String
def utf8_to_latin(s):
y = UTF8String(s)
return y.encode("iso-8859-1")
def latin_to_utf8(s):
buff = cStringIO.StringIO()
for c in s:
try:
cv = code_to_utf8(1,c)
except Exception,e:
from traceback import print_exc
print_exc()
cv = ''
buff.write(cv)
ans = buff.getvalue()
buff.close()
return ans
except:
if sys.version[0] != '1':
def utf8_to_latin(s):
return s.encode('latin-1')
def latin_to_utf8(s):
return s.encode('utf-8')
else:
try:
import cStringIO
from xml.unicode.utf8_iso import code_to_utf8
from xml.unicode.iso8859 import UTF8String
def utf8_to_latin(s):
y = UTF8String(s)
return y.encode("iso-8859-1")
def latin_to_utf8(s):
buff = cStringIO.StringIO()
for c in s:
try:
cv = code_to_utf8(1,c)
except Exception,e:
from traceback import print_exc
print_exc()
cv = ''
buff.write(cv)
ans = buff.getvalue()
buff.close()
return ans
except:
def utf8_to_latin(s):
return s
def latin_to_utf8(s):
return s