mirror of
https://github.com/searxng/searxng.git
synced 2024-11-05 04:40:11 +01:00
[fix] remove usage of no longer existing names from lxml
In lxml 5.1.1 the private name `_ElementStringResult` in module `lxml.etree` does no longer exists. This code was written nearly a decade ago, its no longer clear what the intention `_ElementStringResult` and `_ElementUnicodeResult` had been. It can be assumed that these classes will no longer occur. Closes: https://github.com/searxng/searxng/issues/3368 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
This commit is contained in:
parent
26a92c1a8d
commit
bd6ff29f8f
@ -18,7 +18,7 @@ from urllib.parse import urljoin, urlparse
|
||||
from markdown_it import MarkdownIt
|
||||
|
||||
from lxml import html
|
||||
from lxml.etree import ElementBase, XPath, XPathError, XPathSyntaxError, _ElementStringResult, _ElementUnicodeResult
|
||||
from lxml.etree import ElementBase, XPath, XPathError, XPathSyntaxError
|
||||
|
||||
from searx import settings
|
||||
from searx.data import USER_AGENTS, data_dir
|
||||
@ -217,7 +217,7 @@ def extract_text(xpath_results, allow_none: bool = False) -> Optional[str]:
|
||||
text: str = html.tostring(xpath_results, encoding='unicode', method='text', with_tail=False)
|
||||
text = text.strip().replace('\n', ' ')
|
||||
return ' '.join(text.split())
|
||||
if isinstance(xpath_results, (_ElementStringResult, _ElementUnicodeResult, str, Number, bool)):
|
||||
if isinstance(xpath_results, (str, Number, bool)):
|
||||
return str(xpath_results)
|
||||
if xpath_results is None and allow_none:
|
||||
return None
|
||||
|
Loading…
Reference in New Issue
Block a user