/opt/cloudlinux/venv/lib/python3.11/site-packages/lxml
NameSizeModeActions
html/-0755rm
includes/-0755rm
isoschematron/-0755rm
__pycache__/-0755rm
apihelpers.pxi644520644editdlrm
builder.cpython-311-x86_64-linux-gnu.so1236240755editdlrm
builder.py81470644editdlrm
classlookup.pxi224620644editdlrm
cleanup.pxi84580644editdlrm
cssselect.py33660644editdlrm
debug.pxi32830644editdlrm
docloader.pxi57830644editdlrm
doctestcompare.py183390644editdlrm
dtd.pxi152190644editdlrm
ElementInclude.py85600644editdlrm
etree.cpython-311-x86_64-linux-gnu.so57972400755editdlrm
etree.h85750644editdlrm
etree.pyx1324150644editdlrm
etree_api.h174670644editdlrm
extensions.pxi332410644editdlrm
iterparse.pxi166070644editdlrm
lxml.etree.h85750644editdlrm
lxml.etree_api.h174720644editdlrm
nsclasses.pxi91450644editdlrm
objectify.cpython-311-x86_64-linux-gnu.so33515200755editdlrm
objectify.pyx771000644editdlrm
objectpath.pxi114790644editdlrm
parser.pxi782470644editdlrm
parsertarget.pxi68590644editdlrm
proxy.pxi235620644editdlrm
public-api.pxi66600644editdlrm
pyclasslookup.py920644editdlrm
readonlytree.pxi190480644editdlrm
relaxng.pxi60850644editdlrm
sax.cpython-311-x86_64-linux-gnu.so2016800755editdlrm
sax.py93960644editdlrm
saxparser.pxi325420644editdlrm
schematron.pxi57820644editdlrm
serializer.pxi679990644editdlrm
usedoctest.py2300644editdlrm
xinclude.pxi24600644editdlrm
xmlerror.pxi495310644editdlrm
xmlid.pxi60640644editdlrm
xmlschema.pxi80790644editdlrm
xpath.pxi195710644editdlrm
xslt.pxi366940644editdlrm
xsltext.pxi110850644editdlrm
_elementpath.cpython-311-x86_64-linux-gnu.so2306800755editdlrm
_elementpath.py107420644editdlrm
__init__.py5750644editdlrm
Edit: /opt/cloudlinux/venv/lib/python3.11/site-packages/lxml/cssselect.py (3366B)
"""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. """ from __future__ import absolute_import from . import etree try: import cssselect as external_cssselect except ImportError: raise ImportError( 'cssselect does not seem to be installed. ' 'See http://packages.python.org/cssselect/') SelectorSyntaxError = external_cssselect.SelectorSyntaxError ExpressionError = external_cssselect.ExpressionError SelectorError = external_cssselect.SelectorError __all__ = ['SelectorSyntaxError', 'ExpressionError', 'SelectorError', 'CSSSelector'] class LxmlTranslator(external_cssselect.GenericTranslator): """ A custom CSS selector to XPath translator with lxml-specific extensions. """ def xpath_contains_function(self, xpath, function): # Defined there, removed in later drafts: # http://www.w3.org/TR/2001/CR-css3-selectors-20011113/#content-selectors if function.argument_types() not in (['STRING'], ['IDENT']): raise ExpressionError( "Expected a single string or ident for :contains(), got %r" % function.arguments) value = function.arguments[0].value return xpath.add_condition( 'contains(__lxml_internal_css:lower-case(string(.)), %s)' % self.xpath_literal(value.lower())) class LxmlHTMLTranslator(LxmlTranslator, external_cssselect.HTMLTranslator): """ lxml extensions + HTML support. """ def _make_lower_case(context, s): return s.lower() ns = etree.FunctionNamespace('http://codespeak.net/lxml/css/') ns.prefix = '__lxml_internal_css' ns['lower-case'] = _make_lower_case class CSSSelector(etree.XPath): """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')] """ def __init__(self, css, namespaces=None, translator='xml'): if translator == 'xml': translator = LxmlTranslator() elif translator == 'html': translator = LxmlHTMLTranslator() elif translator == 'xhtml': translator = LxmlHTMLTranslator(xhtml=True) path = translator.css_to_xpath(css) etree.XPath.__init__(self, path, namespaces=namespaces) self.css = css def __repr__(self): return '<%s %s for %r>' % ( self.__class__.__name__, hex(abs(id(self)))[2:], self.css)