mirror of
https://github.com/searxng/searxng.git
synced 2026-08-02 21:31:24 +00:00
[refactor] engines: use datetime.fromisoformat instead of datetime.strptime where possible (#6394)
Refactor engines that parse ISO 8601 dates with strptime to use
fromisoformat instead. In most cases this is a direct replacement of
strptime(text, "format") with fromisoformat(text).
For engines where the source has a trailing "Z" that strptime consumed
as a literal (e.g. "%Y-%m-%dT%H:%M:%S.%fZ" in huggingface.py), add
rstrip("Z") to keep the output naive and preserve the existing behavior.
In sogou.py the date is extracted with a regular expression, which can
yield strings like "2026-7-11". strptime accepts this via its format
string, but fromisoformat does not. To preserve the existing behavior
and satisfy the format fromisoformat expects, add zero-padding for the
month and day.
Closes: #6098
---------
Signed-off-by: OneVth <onebrotravel@gmail.com>
This commit is contained in:
@@ -92,7 +92,7 @@ def _get_communities(json):
|
||||
'title': result['community']['title'],
|
||||
'content': markdown_to_text(result['community'].get('description', '')),
|
||||
'thumbnail': result['community'].get('icon', result['community'].get('banner')),
|
||||
'publishedDate': datetime.strptime(counts['published'][:19], '%Y-%m-%dT%H:%M:%S'),
|
||||
'publishedDate': datetime.fromisoformat(counts['published'][:19]),
|
||||
'metadata': metadata,
|
||||
}
|
||||
)
|
||||
@@ -141,7 +141,7 @@ def _get_posts(json):
|
||||
'title': result['post']['name'],
|
||||
'content': content,
|
||||
'thumbnail': thumbnail,
|
||||
'publishedDate': datetime.strptime(result['post']['published'][:19], '%Y-%m-%dT%H:%M:%S'),
|
||||
'publishedDate': datetime.fromisoformat(result['post']['published'][:19]),
|
||||
'metadata': metadata,
|
||||
}
|
||||
)
|
||||
@@ -170,7 +170,7 @@ def _get_comments(json):
|
||||
'url': result['comment']['ap_id'],
|
||||
'title': result['post']['name'],
|
||||
'content': markdown_to_text(result['comment']['content']),
|
||||
'publishedDate': datetime.strptime(result['comment']['published'][:19], '%Y-%m-%dT%H:%M:%S'),
|
||||
'publishedDate': datetime.fromisoformat(result['comment']['published'][:19]),
|
||||
'metadata': metadata,
|
||||
}
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user