X7ROOT File Manager
Current Path:
/opt/cloudlinux/venv/lib/python3.11/site-packages/lxml
opt
/
cloudlinux
/
venv
/
lib
/
python3.11
/
site-packages
/
lxml
/
??
..
??
ElementInclude.py
(8.36 KB)
??
__init__.py
(575 B)
??
__pycache__
??
_elementpath.cpython-311-x86_64-linux-gnu.so
(225.27 KB)
??
_elementpath.py
(10.49 KB)
??
apihelpers.pxi
(62.94 KB)
??
builder.cpython-311-x86_64-linux-gnu.so
(120.73 KB)
??
builder.py
(7.96 KB)
??
classlookup.pxi
(21.94 KB)
??
cleanup.pxi
(8.26 KB)
??
cssselect.py
(3.29 KB)
??
debug.pxi
(3.21 KB)
??
docloader.pxi
(5.65 KB)
??
doctestcompare.py
(17.91 KB)
??
dtd.pxi
(14.86 KB)
??
etree.cpython-311-x86_64-linux-gnu.so
(5.53 MB)
??
etree.h
(8.37 KB)
??
etree.pyx
(129.31 KB)
??
etree_api.h
(17.06 KB)
??
extensions.pxi
(32.46 KB)
??
html
??
includes
??
isoschematron
??
iterparse.pxi
(16.22 KB)
??
lxml.etree.h
(8.37 KB)
??
lxml.etree_api.h
(17.06 KB)
??
nsclasses.pxi
(8.93 KB)
??
objectify.cpython-311-x86_64-linux-gnu.so
(3.2 MB)
??
objectify.pyx
(75.29 KB)
??
objectpath.pxi
(11.21 KB)
??
parser.pxi
(76.41 KB)
??
parsertarget.pxi
(6.7 KB)
??
proxy.pxi
(23.01 KB)
??
public-api.pxi
(6.5 KB)
??
pyclasslookup.py
(92 B)
??
readonlytree.pxi
(18.6 KB)
??
relaxng.pxi
(5.94 KB)
??
sax.cpython-311-x86_64-linux-gnu.so
(196.95 KB)
??
sax.py
(9.18 KB)
??
saxparser.pxi
(31.78 KB)
??
schematron.pxi
(5.65 KB)
??
serializer.pxi
(66.41 KB)
??
usedoctest.py
(230 B)
??
xinclude.pxi
(2.4 KB)
??
xmlerror.pxi
(48.37 KB)
??
xmlid.pxi
(5.92 KB)
??
xmlschema.pxi
(7.89 KB)
??
xpath.pxi
(19.11 KB)
??
xslt.pxi
(35.83 KB)
??
xsltext.pxi
(10.83 KB)
Editing: cssselect.py
"""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("<a><b><c/><tag><child>TEXT</child></tag></b></a>") >>> [ 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(( ... '<root xmlns:rdf="%s">' ... '<rdf:Description>blah</rdf:Description>' ... '</root>') % 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)
Upload File
Create Folder