Example #1
0
def get_parsed_selector(raw):
    try:
        return parse_cache[raw]
    except KeyError:
        parse_cache[raw] = ans = parse(raw)
        if len(parse_cache) > PARSE_CACHE_SIZE:
            parse_cache.pop(next(iter(parse_cache)))
        return ans
Example #2
0
 def repr_parse(css):
     selectors = parse(css)
     for selector in selectors:
         assert selector.pseudo_element is None
     return [
         repr(selector.parsed_tree).replace("(u'", "('")
         for selector in selectors
     ]
Example #3
0
def get_parsed_selector(raw):
    try:
        return parse_cache[raw]
    except KeyError:
        parse_cache[raw] = ans = parse(raw)
        if len(parse_cache) > PARSE_CACHE_SIZE:
            parse_cache.pop(next(iter(parse_cache)))
        return ans
Example #4
0
 def parse_pseudo(css):
     result = []
     for selector in parse(css):
         pseudo = selector.pseudo_element
         pseudo = type('')(pseudo) if pseudo else pseudo
         # No Symbol here
         assert pseudo is None or isinstance(pseudo, type(''))
         selector = repr(selector.parsed_tree).replace("(u'", "('")
         result.append((selector, pseudo))
     return result
Example #5
0
 def parse_pseudo(css):
     result = []
     for selector in parse(css):
         pseudo = selector.pseudo_element
         pseudo = type('')(pseudo) if pseudo else pseudo
         # No Symbol here
         assert pseudo is None or isinstance(pseudo, type(''))
         selector = repr(selector.parsed_tree).replace("(u'", "('")
         result.append((selector, pseudo))
     return result
Example #6
0
 def get_error(css):
     try:
         parse(css)
     except SelectorSyntaxError:
         # Py2, Py3, ...
         return str(sys.exc_info()[1]).replace("(u'", "('")
Example #7
0
 def specificity(css):
     selectors = parse(css)
     assert len(selectors) == 1
     return selectors[0].specificity()
Example #8
0
 def get_error(css):
     try:
         parse(css)
     except SelectorSyntaxError:
         # Py2, Py3, ...
         return str(sys.exc_info()[1]).replace("(u'", "('")
Example #9
0
 def specificity(css):
     selectors = parse(css)
     assert len(selectors) == 1
     return selectors[0].specificity()
Example #10
0
 def repr_parse(css):
     selectors = parse(css)
     for selector in selectors:
         assert selector.pseudo_element is None
     return [repr(selector.parsed_tree).replace("(u'", "('")
             for selector in selectors]