grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026a õ¶a& ã@sºdZddlmZddlmZz ddlZWneyBedƒ‚Yn0ejZej Z ej Z gd¢Z Gdd „d ej ƒZ Gd d „d e ejƒZd d „Ze d¡Zde_eed<Gdd„dejƒZdS)zÄCSS Selectors based on XPath. This module supports selecting XML/HTML tags based on CSS selectors. See the `CSSSelector` class for details. This is a thin wrapper around cssselect 0.7 or later. é)Úabsolute_importé)ÚetreeNzRcssselect does not seem to be installed. See http://packages.python.org/cssselect/)ÚSelectorSyntaxErrorÚExpressionErrorÚ SelectorErrorÚ CSSSelectorc@seZdZdZdd„ZdS)ÚLxmlTranslatorzR A custom CSS selector to XPath translator with lxml-specific extensions. cCsF| ¡dgdgfvr"td|jƒ‚|jdj}| d| | ¡¡¡S)NÚSTRINGZIDENTz9Expected a single string or ident for :contains(), got %rrz7contains(__lxml_internal_css:lower-case(string(.)), %s))Zargument_typesrZ argumentsÚvalueZ add_conditionZ xpath_literalÚlower)ÚselfZxpathÚfunctionr ©rú4/usr/lib64/python3.9/site-packages/lxml/cssselect.pyÚxpath_contains_function!sÿÿ  ÿÿz&LxmlTranslator.xpath_contains_functionN)Ú__name__Ú __module__Ú __qualname__Ú__doc__rrrrrr sr c@seZdZdZdS)ÚLxmlHTMLTranslatorz) lxml extensions + HTML support. N)rrrrrrrrr.srcCs| ¡S)N)r )ÚcontextÚsrrrÚ_make_lower_case4srzhttp://codespeak.net/lxml/css/Z__lxml_internal_cssz lower-casec@s"eZdZdZddd„Zdd„ZdS) ra–A CSS selector. Usage:: >>> from lxml import etree, cssselect >>> select = cssselect.CSSSelector("a tag > child") >>> root = etree.XML("TEXT") >>> [ el.tag for el in select(root) ] ['child'] To use CSS namespaces, you need to pass a prefix-to-namespace mapping as ``namespaces`` keyword argument:: >>> rdfns = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#' >>> select_ns = cssselect.CSSSelector('root > rdf|Description', ... namespaces={'rdf': rdfns}) >>> rdf = etree.XML(( ... '' ... 'blah' ... '') % rdfns) >>> [(el.tag, el.text) for el in select_ns(rdf)] [('{http://www.w3.org/1999/02/22-rdf-syntax-ns#}Description', 'blah')] NÚxmlcCsX|dkrtƒ}n"|dkr tƒ}n|dkr2tdd�}| |¡}tjj|||d�||_dS)NrZhtmlÚxhtmlT)r)Ú namespaces)r rZ css_to_xpathrÚXPathÚ__init__Úcss)r rrZ translatorÚpathrrrrWs  zCSSSelector.__init__cCs(d|jjttt|ƒƒƒdd…|jfS)Nz<%s %s for %r>é)Ú __class__rÚhexÚabsÚidr)r rrrÚ__repr__bs ýzCSSSelector.__repr__)Nr)rrrrrr&rrrrr<s r)rZ __future__rÚrZ cssselectZexternal_cssselectÚ ImportErrorrrrÚ__all__ZGenericTranslatorr ZHTMLTranslatorrrZFunctionNamespaceÚnsÚprefixrrrrrrÚs&    ÿ