summaryrefslogtreecommitdiff
path: root/python/drv_libxml2.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/drv_libxml2.py')
-rw-r--r--python/drv_libxml2.py18
1 files changed, 12 insertions, 6 deletions
diff --git a/python/drv_libxml2.py b/python/drv_libxml2.py
index e43fb1d..c2ec3e2 100644
--- a/python/drv_libxml2.py
+++ b/python/drv_libxml2.py
@@ -34,12 +34,18 @@ TODO
"""
-__author__ = u"Stéphane Bidoul <sbi@skynet.be>"
+__author__ = "Stéphane Bidoul <sbi@skynet.be>"
__version__ = "0.3"
+import sys
import codecs
-from types import StringType, UnicodeType
-StringTypes = (StringType,UnicodeType)
+
+if sys.version_info[0] < 3:
+ __author__ = codecs.unicode_escape_decode(__author__)[0]
+
+ StringTypes = (str, unicode)
+else:
+ StringTypes = str
from xml.sax._exceptions import *
from xml.sax import xmlreader, saxutils
@@ -65,9 +71,9 @@ def _d(s):
try:
import libxml2
-except ImportError, e:
+except ImportError:
raise SAXReaderNotAvailable("libxml2 not available: " \
- "import error was: %s" % e)
+ "import error was: %s" % sys.exc_info()[1])
class Locator(xmlreader.Locator):
"""SAX Locator adapter for libxml2.xmlTextReaderLocator"""
@@ -134,7 +140,7 @@ class LibXml2Reader(xmlreader.XMLReader):
self.__parsing = 1
try:
# prepare source and create reader
- if type(source) in StringTypes:
+ if isinstance(source, StringTypes):
reader = libxml2.newTextReaderFilename(source)
else:
source = saxutils.prepare_input_source(source)