mirror of
https://github.com/searxng/searxng.git
synced 2025-07-24 21:59:22 +02:00
Add searx.webutils.searxng_format_date
* Move the datetime to str code from searx.webapp.search to searx.webutils.searxng_format_date * When the month, day, hour, day and second are zero, the function returns only the year.
This commit is contained in:
parent
bef3984d03
commit
a96f503d7b
2 changed files with 21 additions and 15 deletions
|
@ -7,11 +7,14 @@ import hmac
|
|||
import re
|
||||
import inspect
|
||||
import itertools
|
||||
from datetime import datetime, timedelta
|
||||
from typing import Iterable, List, Tuple, Dict
|
||||
|
||||
from io import StringIO
|
||||
from codecs import getincrementalencoder
|
||||
|
||||
from flask_babel import gettext, format_date
|
||||
|
||||
from searx import logger, settings
|
||||
from searx.engines import Engine, OTHER_CATEGORY
|
||||
|
||||
|
@ -138,6 +141,22 @@ def highlight_content(content, query):
|
|||
return content
|
||||
|
||||
|
||||
def searxng_format_date(dt: datetime): # pylint: disable=invalid-name
|
||||
# TODO, check if timezone is calculated right # pylint: disable=fixme
|
||||
d = dt.date()
|
||||
t = dt.time()
|
||||
if d.month == 1 and d.day == 1 and t.hour == 0 and t.minute == 0 and t.second == 0:
|
||||
return str(d.year)
|
||||
if dt.replace(tzinfo=None) >= datetime.now() - timedelta(days=1):
|
||||
timedifference = datetime.now() - dt.replace(tzinfo=None)
|
||||
minutes = int((timedifference.seconds / 60) % 60)
|
||||
hours = int(timedifference.seconds / 60 / 60)
|
||||
if hours == 0:
|
||||
return gettext('{minutes} minute(s) ago').format(minutes=minutes)
|
||||
return gettext('{hours} hour(s), {minutes} minute(s) ago').format(hours=hours, minutes=minutes)
|
||||
return format_date(dt)
|
||||
|
||||
|
||||
def is_flask_run_cmdline():
|
||||
"""Check if the application was started using "flask run" command line
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue