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

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. __all__ = [
  5.     'CSSParser']
  6. __docformat__ = 'restructuredtext'
  7. __version__ = '$Id: parse.py 1754 2009-05-30 14:50:13Z cthedot $'
  8. from helper import Deprecated, path2url
  9. import codecs
  10. import cssutils
  11. import os
  12. import tokenize2
  13. import urllib
  14.  
  15. class CSSParser(object):
  16.     
  17.     def __init__(self, log = None, loglevel = None, raiseExceptions = None, fetcher = None):
  18.         if log is not None:
  19.             cssutils.log.setLog(log)
  20.         
  21.         if loglevel is not None:
  22.             cssutils.log.setLevel(loglevel)
  23.         
  24.         self._CSSParser__globalRaising = cssutils.log.raiseExceptions
  25.         if raiseExceptions:
  26.             self._CSSParser__parseRaising = raiseExceptions
  27.         else:
  28.             self._CSSParser__parseRaising = False
  29.         self._CSSParser__tokenizer = tokenize2.Tokenizer()
  30.         self.setFetcher(fetcher)
  31.  
  32.     
  33.     def __parseSetting(self, parse):
  34.         if parse:
  35.             cssutils.log.raiseExceptions = self._CSSParser__parseRaising
  36.         else:
  37.             cssutils.log.raiseExceptions = self._CSSParser__globalRaising
  38.  
  39.     
  40.     def parseString(self, cssText, encoding = None, href = None, media = None, title = None):
  41.         self._CSSParser__parseSetting(True)
  42.         if isinstance(cssText, str):
  43.             cssText = codecs.getdecoder('css')(cssText, encoding = encoding)[0]
  44.         
  45.         sheet = cssutils.css.CSSStyleSheet(href = href, media = cssutils.stylesheets.MediaList(media), title = title)
  46.         sheet._setFetcher(self._CSSParser__fetcher)
  47.         sheet._setCssTextWithEncodingOverride(self._CSSParser__tokenizer.tokenize(cssText, fullsheet = True), encodingOverride = encoding)
  48.         self._CSSParser__parseSetting(False)
  49.         return sheet
  50.  
  51.     
  52.     def parseFile(self, filename, encoding = None, href = None, media = None, title = None):
  53.         if not href:
  54.             href = path2url(filename)
  55.         
  56.         return self.parseString(open(filename, 'rb').read(), encoding = encoding, href = href, media = media, title = title)
  57.  
  58.     
  59.     def parseUrl(self, href, encoding = None, media = None, title = None):
  60.         (encoding, enctype, text) = cssutils.util._readUrl(href, overrideEncoding = encoding)
  61.         if enctype == 5:
  62.             encoding = None
  63.         
  64.         if text is not None:
  65.             return self.parseString(text, encoding = encoding, href = href, media = media, title = title)
  66.  
  67.     
  68.     def setFetcher(self, fetcher = None):
  69.         self._CSSParser__fetcher = fetcher
  70.  
  71.     
  72.     def parse(self, filename, encoding = None, href = None, media = None, title = None):
  73.         self.parseFile(filename, encoding, href, media, title)
  74.  
  75.     parse = Deprecated('Use cssutils.CSSParser().parseFile() instead.')(parse)
  76.  
  77.