From b60610335253a5eefa0f6a2760d39b3b924460f4 Mon Sep 17 00:00:00 2001 From: Ishbir Singh Date: Sat, 16 Aug 2025 11:50:38 -0400 Subject: [PATCH] [fix] reuters: published date not parsed correctly in some cases FIxes publishedDate format in reuters engine to encompass ISO 8601 times both with and without milliseconds. Why is this change important? Previously, the engine would sometimes fail saying: 2025-08-12 21:13:23,091 ERROR:searx.engines.reuters: exception : time data '2024-04-15T19:08:30.833Z' does not match format '%Y-%m-%dT%H:%M:%SZ' Traceback (most recent call last): ... File "/usr/local/searxng/searx/engines/reuters.py", line 87, in response publishedDate=datetime.strptime(result["display_time"], "%Y-%m-%dT%H:%M:%SZ"), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ... Note that most queries seem to work with Reuters, but there are some results that have the additional milliseconds and fail. Regardless, the change is backwards compatible as both the formats (with and without the ms) should now parse correctly. --- searx/engines/reuters.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/searx/engines/reuters.py b/searx/engines/reuters.py index 113124c48..c8281c7bf 100644 --- a/searx/engines/reuters.py +++ b/searx/engines/reuters.py @@ -84,7 +84,7 @@ def response(resp) -> EngineResults: content=result["description"], thumbnail=result.get("thumbnail", {}).get("url", ""), metadata=result.get("kicker", {}).get("name"), - publishedDate=datetime.strptime(result["display_time"], "%Y-%m-%dT%H:%M:%SZ"), + publishedDate=datetime.fromisoformat(result["display_time"]), ) ) return res