home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.6)
-
- __all__ = [
- 'CSSParser']
- __docformat__ = 'restructuredtext'
- __version__ = '$Id: parse.py 1754 2009-05-30 14:50:13Z cthedot $'
- from helper import Deprecated, path2url
- import codecs
- import cssutils
- import os
- import tokenize2
- import urllib
-
- class CSSParser(object):
-
- def __init__(self, log = None, loglevel = None, raiseExceptions = None, fetcher = None):
- if log is not None:
- cssutils.log.setLog(log)
-
- if loglevel is not None:
- cssutils.log.setLevel(loglevel)
-
- self._CSSParser__globalRaising = cssutils.log.raiseExceptions
- if raiseExceptions:
- self._CSSParser__parseRaising = raiseExceptions
- else:
- self._CSSParser__parseRaising = False
- self._CSSParser__tokenizer = tokenize2.Tokenizer()
- self.setFetcher(fetcher)
-
-
- def __parseSetting(self, parse):
- if parse:
- cssutils.log.raiseExceptions = self._CSSParser__parseRaising
- else:
- cssutils.log.raiseExceptions = self._CSSParser__globalRaising
-
-
- def parseString(self, cssText, encoding = None, href = None, media = None, title = None):
- self._CSSParser__parseSetting(True)
- if isinstance(cssText, str):
- cssText = codecs.getdecoder('css')(cssText, encoding = encoding)[0]
-
- sheet = cssutils.css.CSSStyleSheet(href = href, media = cssutils.stylesheets.MediaList(media), title = title)
- sheet._setFetcher(self._CSSParser__fetcher)
- sheet._setCssTextWithEncodingOverride(self._CSSParser__tokenizer.tokenize(cssText, fullsheet = True), encodingOverride = encoding)
- self._CSSParser__parseSetting(False)
- return sheet
-
-
- def parseFile(self, filename, encoding = None, href = None, media = None, title = None):
- if not href:
- href = path2url(filename)
-
- return self.parseString(open(filename, 'rb').read(), encoding = encoding, href = href, media = media, title = title)
-
-
- def parseUrl(self, href, encoding = None, media = None, title = None):
- (encoding, enctype, text) = cssutils.util._readUrl(href, overrideEncoding = encoding)
- if enctype == 5:
- encoding = None
-
- if text is not None:
- return self.parseString(text, encoding = encoding, href = href, media = media, title = title)
-
-
- def setFetcher(self, fetcher = None):
- self._CSSParser__fetcher = fetcher
-
-
- def parse(self, filename, encoding = None, href = None, media = None, title = None):
- self.parseFile(filename, encoding, href, media, title)
-
- parse = Deprecated('Use cssutils.CSSParser().parseFile() instead.')(parse)
-
-