Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
3 Cj6@srddlZddlmZddlmZddlmZddlmZejdj Z ddd Z Gd d d e Z d d ZddZdS)N) parse_nth) ascii_lower)parser) SelectorErrorz [^ ]+cCsddtj||DS)aCompile a (comma-separated) list of selectors. :param input: A string, or an iterable of tinycss2 component values such as the :attr:`tinycss2.ast.QualifiedRule.prelude` of a style rule. :param namespaces: A optional dictionary of all `namespace prefix declarations `_ in scope for this selector. Keys are namespace prefixes as strings, or ``None`` for the default namespace. Values are namespace URLs as strings. If omitted, assume that no prefix is declared. :returns: A list of opaque :class:`compiler.CompiledSelector` objects. cSsg|] }t|qS)CompiledSelector).0selectorrr9/tmp/pip-build-_d5lkt3n/cssselect2/cssselect2/compiler.py sz)compile_selector_list..)rparse)input namespacesrrr compile_selector_list src@seZdZdZddZdS)rz&Abstract representation of a selector.cCst|j}|dk|_td|ttdi|_|j|_|j|_d|_ d|_ d|_ d|_ d|_ d|_|j}t|tjrx|j}x|jD]}t|tjr|j|_ qt|tjr|j |_ qt|tjr|j |_ |j |_ qt|tjr|j |_ qt|tjo|jdkrd|_qWdS)N0z lambda el: )split_whitespacerFlangT) _compile_nodeZ parsed_treeZ never_matchesevalrrtestZ specificityZpseudo_elementid class_name local_namelower_local_name namespaceZrequires_lang_attr isinstancerCombinedSelectorrightsimple_selectors IDSelectorident ClassSelectorLocalNameSelectorNamespaceSelectorAttributeSelectorname)selfZparsed_selectorsourcenodeZsimple_selectorrrr __init__&s<              zCompiledSelector.__init__N)__name__ __module__ __qualname____doc__r*rrrr r$srcCst|tjrt|j}|dkr"dS|dkrX|jdekr:d}q|jdfkrJd}qtd |jn\|jdkrld |}nH|jdkrd |}n4|jdkrd |}n |jdkrd |}n td |jt|j}|dkrdS|dkr|Sd||fSnt|tjrddt t|j D}t |dkr"|d}n0d|kr2d}n |rNdj dd|D}nd}t|tj r|dkrndS|dkr|dSd|Sn|SnBt|tjrd|j|jfSt|tjrd|jSt|tjrd|jSt|tjrd|jSt|tjr\|jdk rT|jrt d4d9t d7fS|jdgkrdS|jdDkr*dES|jdFkr:dGS|jdHkrJdIS|jdJkrZdKS|jdLkrjdMS|jdNkrzdOS|jdPkrdQS|jdRkrdSStdT|jn&t|tj!r|jdUkrdVd|j"D}t |dkr|dj#dWkr|dj$} ntdXdY| | d%fS|jdZkr(d[} nB|jd\kr:d]} n0|jd^krLd_} n|jd`kr^da} n tdT|jt%|j"} | dkrtdb|j| \} } | d}| dkrdc| |fSdd| || fSnt&t#||dS)hzReturn a boolean expression, as a Python source string. When evaluated in a context where the `el` variable is an :class:`cssselect2.tree.Element` object, tells whether the element is a subject of `selector`. r1 >zel.parent is not None~+zel.previous is not NonezUnknown combinatorz'any((%s) for el in el.iter_ancestors())z3next(el is not None and (%s) for el in [el.parent])z5next(el is not None and (%s) for el in [el.previous])z/any((%s) for el in el.iter_previous_siblings())z (%s) and (%s)cSsg|]}|dkr|qS)r/r)r exprrrr r ~sz!_compile_node..rrz and css|]}d|VqdS)z(%s)Nr)r errr sz _compile_node..znot (%s)z4el.local_name == (%r if el.in_html_document else %r)zel.namespace_url == %rz%r in el.classesz el.id == %rNz#(%r if el.in_html_document else %r)z{%s}%sz%s in el.etree_element.attrib=zel.etree_element.get(%s) == %rz~=z4%r in split_whitespace(el.etree_element.get(%s, ""))z|=z]next(v == %r or (v is not None and v.startswith(%r)) for v in [el.etree_element.get(%s)])-z^=z+el.etree_element.get(%s, "").startswith(%r)z$=z)el.etree_element.get(%s, "").endswith(%r)z*=z"%r in el.etree_element.get(%s, "")zUnknown attribute operatorlinkz/%s and el.etree_element.get("href") is not Noneaareaenabledz(%s and el.etree_element.get("disabled") is None and not el.in_disabled_fieldset) or(%s and el.etree_element.get("disabled") is None) or (%s and el.etree_element.get("href") is not None)buttonrselecttextareaoptionoptgroupZmenuitemfieldsetdisabledz(%s and (el.etree_element.get("disabled") is not None or el.in_disabled_fieldset)) or(%s and el.etree_element.get("disabled") is not None)checkedz(%s and el.etree_element.get("checked") is not None and ascii_lower(el.etree_element.get("type", "")) in ("checkbox", "radio"))or (%s and el.etree_element.get("selected") is not None)visitedhoveractivefocustargetrootzel.parent is Nonez first-childz el.index == 0z last-childz&el.index + 1 == len(el.etree_siblings)z first-of-typezKall(s.tag != el.etree_element.tag for s in el.etree_siblings[:el.index])z last-of-typezOall(s.tag != el.etree_element.tag for s in el.etree_siblings[el.index + 1:])z only-childzlen(el.etree_siblings) == 1z only-of-typez_all(s.tag != el.etree_element.tag or i == el.index for i, s in enumerate(el.etree_siblings))emptyz0not (el.etree_children or el.etree_element.text)zUnknown pseudo-classrcSsg|]}|jdkr|qS) whitespace)type)r trrr r sr!zInvalid arguments for :lang()z'el.lang == %r or el.lang.startswith(%r)z nth-childzel.indexznth-last-childz'(len(el.etree_siblings) - el.index - 1)z nth-of-typezPsum(1 for s in el.etree_siblings[:el.index] if s.tag == el.etree_element.tag)znth-last-of-typezTsum(1 for s in el.etree_siblings[el.index + 1:] if s.tag == el.etree_element.tag)zInvalid arguments for :%s()z%s == %iz=next(r == 0 and n >= 0 for n, r in [divmod(%s - %i, %i)]))r0r1)r2r3)rErFrGrHrI)'rrrrleftZ combinatorrrZCompoundSelectormaprlenjoinZNegationSelectorr#rrr$rr"rr r!r%Z lower_namer&valueoperatorsplitstripNotImplementedErrorZPseudoClassSelector html_tag_eqZFunctionalPseudoClassSelector argumentsrMZ lower_valuer TypeError)r Z left_insiderOrZsub_expressionsrkeyrStokensrcountresultr:bBrrr rIs<                                                              rcGsTt|dkr$d|dd|dfSddjdd|Ddjd d|DfSdS) NrzP((el.local_name == %r) if el.in_html_document else (el.etree_element.tag == %r))rz{http://www.w3.org/1999/xhtml}zT((el.local_name in (%s)) if el.in_html_document else (el.etree_element.tag in (%s)))z, css|]}t|VqdS)N)repr)r nrrr r6Nszhtml_tag_eq..css|]}td|VqdS)z{http://www.w3.org/1999/xhtml}N)ra)r rbrrr r6Os)rQrR)Z local_namesrrr rXCs  rX)N)reZ tinycss2.nthr webencodingsrrrcompilefindallrrobjectrrrXrrrr s      %{