Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
3 Cøªjã@sddZddlZddlmZddlmZddlmZddlm Z dZ Z Gd d „d e ƒZ ejddƒZdS) zÝ cssselect2 ========== cssselect2 is a straightforward implementation of CSS3 Selectors for markup documents (HTML, XML, etc.) that can be read by ElementTree-like parsers (including cElementTree, lxml, html5lib, etc.) éN)Ú ascii_loweré)Úcompile_selector_list)Ú SelectorError)ÚElementWrapperz0.4.1c@s(eZdZdZdd„Zdd„Zdd„ZdS) ÚMatcherz=A CSS selectors storage that can match against HTML elements.cCs.i|_i|_i|_i|_g|_g|_d|_dS)Nr)Ú id_selectorsÚclass_selectorsÚlower_local_name_selectorsÚnamespace_selectorsÚlang_attr_selectorsÚother_selectorsÚorder)Úself©rú9/tmp/pip-build-_d5lkt3n/cssselect2/cssselect2/__init__.pyÚ__init__szMatcher.__init__cCsÚ|jd7_|jrdS|j|j|j|j|f}|jdk rP|jj|jgƒj|ƒn†|j dk rr|j j|j gƒj|ƒnd|j dk r”|j j|j gƒj|ƒnB|jdk r¶|jj|jgƒj|ƒn |jrÊ|jj|ƒn |jj|ƒdS)aàAdd a selector and its payload to the matcher. :param selector: A :class:`compiler.CompiledSelector` object. :param payload: Some data associated to the selector, such as :class:`declarations ` parsed from the :attr:`tinycss2.ast.QualifiedRule.content` of a style rule. It can be any Python object, and will be returned as-is by :meth:`match`. rN)rZ never_matchesÚtestÚ specificityZpseudo_elementÚidrÚ setdefaultÚappendÚ class_namer Ú local_namer Zlower_local_nameÚ namespacer Zrequires_lang_attrr r )rÚselectorÚpayloadÚentryrrrÚ add_selector"s&      zMatcher.add_selectorcs¾g}ˆjdk r$|j|jjˆjgƒƒx"ˆjD]}|j|jj|gƒƒq,W|j|jjtˆjƒgƒƒ|j|j jˆj gƒƒdˆj j kr�|j|j ƒ|j|jƒ‡fdd„|Dƒ}|jtd�|S)a²Match selectors against the given element. :param element: An :class:`ElementWrapper`. :returns: A list of the payload objects associated to selectors that match element, in order of lowest to highest :attr:`compiler.CompiledSelector` specificity and in order of addition with :meth:`add_selector` among selectors of equal specificity. NÚlangcs4g|],}|D]"\}}}}}|ˆƒr ||||f‘q qSrr)Ú.0Z selector_listrrrZpseudor)Úelementrrú isz!Matcher.match..)Úkey)rrrÚgetÚclassesr r rrr Z namespace_urlZ etree_elementÚattribr r ÚsortÚSORT_KEY)rr!Zrelevant_selectorsrÚresultsr)r!rÚmatchHs"        z Matcher.matchN)Ú__name__Ú __module__Ú __qualname__Ú__doc__rrr*rrrrrs &r)r.ÚoperatorÚ webencodingsrÚcompilerrÚparserrÚtreerÚVERSIONÚ __version__ÚobjectrÚ itemgetterr(rrrrÚ s    [