home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2010 November / maximum-cd-2010-11.iso / DiscContents / calibre-0.7.13.msi / file_2878 (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2010-08-06  |  2.5 KB  |  87 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. from xmlreader import InputSource
  5. from handler import ContentHandler, ErrorHandler
  6. from _exceptions import SAXException, SAXNotRecognizedException, SAXParseException, SAXNotSupportedException, SAXReaderNotAvailable
  7.  
  8. def parse(source, handler, errorHandler = ErrorHandler()):
  9.     parser = make_parser()
  10.     parser.setContentHandler(handler)
  11.     parser.setErrorHandler(errorHandler)
  12.     parser.parse(source)
  13.  
  14.  
  15. def parseString(string, handler, errorHandler = ErrorHandler()):
  16.     
  17.     try:
  18.         StringIO = StringIO
  19.         import cStringIO
  20.     except ImportError:
  21.         StringIO = StringIO
  22.         import StringIO
  23.  
  24.     if errorHandler is None:
  25.         errorHandler = ErrorHandler()
  26.     
  27.     parser = make_parser()
  28.     parser.setContentHandler(handler)
  29.     parser.setErrorHandler(errorHandler)
  30.     inpsrc = InputSource()
  31.     inpsrc.setByteStream(StringIO(string))
  32.     parser.parse(inpsrc)
  33.  
  34. default_parser_list = [
  35.     'xml.sax.expatreader']
  36. _false = 0
  37. if _false:
  38.     import xml.sax.expatreader as xml
  39.  
  40. import os
  41. import sys
  42. if os.environ.has_key('PY_SAX_PARSER'):
  43.     default_parser_list = os.environ['PY_SAX_PARSER'].split(',')
  44.  
  45. del os
  46. _key = 'python.xml.sax.parser'
  47. if sys.platform[:4] == 'java' and sys.registry.containsKey(_key):
  48.     default_parser_list = sys.registry.getProperty(_key).split(',')
  49.  
  50.  
  51. def make_parser(parser_list = []):
  52.     for parser_name in parser_list + default_parser_list:
  53.         
  54.         try:
  55.             return _create_parser(parser_name)
  56.         continue
  57.         except ImportError:
  58.             e = None
  59.             import sys
  60.             if parser_name in sys.modules:
  61.                 raise 
  62.             parser_name in sys.modules
  63.             continue
  64.             except SAXReaderNotAvailable:
  65.                 continue
  66.             
  67.         raise SAXReaderNotAvailable('No parsers found', None)
  68.         return None
  69.  
  70.  
  71. if sys.platform[:4] == 'java':
  72.     
  73.     def _create_parser(parser_name):
  74.         imp = imp
  75.         import org.python.core
  76.         drv_module = imp.importName(parser_name, 0, globals())
  77.         return drv_module.create_parser()
  78.  
  79. else:
  80.     
  81.     def _create_parser(parser_name):
  82.         drv_module = __import__(parser_name, { }, { }, [
  83.             'create_parser'])
  84.         return drv_module.create_parser()
  85.  
  86. del sys
  87.