diff options
| author | Markus Heiser <markus.heiser@darmarit.de> | 2025-10-01 07:01:27 +0200 |
|---|---|---|
| committer | Markus Heiser <markus.heiser@darmarIT.de> | 2025-10-01 07:13:10 +0200 |
| commit | 748b521ac6c720b87fbe1229cb34db26dae2f0ae (patch) | |
| tree | 1d2e4ecec500a6880f84acf5666930fdefd5eec1 /searx | |
| parent | e16b6cb148d9fe6599ec8ce4b2803f0aed3a1d6b (diff) | |
[fix] searx/results.py - TypeError: object of type 'NoneType' has no len()
In some engines, under certain circumstances, the content field can also have
the value ``None``; in these cases, a length check results in an exception::
File "/usr/local/searxng/searx/results.py", line 360, in merge_two_main_results
if len(other.content) > len(origin.content):
^^^^^^^^^^^^^^^^^^
TypeError: object of type 'NoneType' has no len()
[1] https://github.com/searxng/searxng/issues/5250#issuecomment-3352863488
Reported-by: @scross01 [1]
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
Diffstat (limited to 'searx')
| -rw-r--r-- | searx/engines/pdbe.py | 2 | ||||
| -rw-r--r-- | searx/results.py | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/searx/engines/pdbe.py b/searx/engines/pdbe.py index 6dcb56169..a155c02fd 100644 --- a/searx/engines/pdbe.py +++ b/searx/engines/pdbe.py @@ -67,7 +67,7 @@ def construct_body(result): ) thumbnail = pdbe_preview_url.format(pdb_id=result['pdb_id']) except KeyError: - content = None + content = "" thumbnail = None # construct url for preview image diff --git a/searx/results.py b/searx/results.py index 02b7bb204..f3bac2eb7 100644 --- a/searx/results.py +++ b/searx/results.py @@ -357,12 +357,12 @@ def merge_two_infoboxes(origin: LegacyResult, other: LegacyResult): def merge_two_main_results(origin: MainResult | LegacyResult, other: MainResult | LegacyResult): """Merges the values from ``other`` into ``origin``.""" - if len(other.content) > len(origin.content): + if len(other.content or "") > len(origin.content or ""): # use content with more text origin.content = other.content # use title with more text - if len(other.title) > len(origin.title): + if len(other.title or "") > len(origin.title or ""): origin.title = other.title # merge all result's parameters not found in origin |