Imported Upstream version 2.9.2
[platform/upstream/libxml2.git] / python / drv_libxml2.py
index e43fb1d..c2ec3e2 100644 (file)
@@ -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)