mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
add util.as_timezone -> as_timezone
Jinja2 filter
Signed-off-by: Kevin Morris <kevr@0cost.org>
This commit is contained in:
parent
ac67268a28
commit
b1baf76998
3 changed files with 13 additions and 0 deletions
|
@ -25,6 +25,7 @@ env.filters["tr"] = l10n.tr
|
|||
|
||||
# Utility filters.
|
||||
env.filters["dt"] = util.timestamp_to_datetime
|
||||
env.filters["as_timezone"] = util.as_timezone
|
||||
|
||||
# Add captcha filters.
|
||||
env.filters["captcha_salt"] = captcha.captcha_salt_filter
|
||||
|
|
|
@ -5,6 +5,7 @@ import string
|
|||
|
||||
from datetime import datetime
|
||||
from urllib.parse import urlparse
|
||||
from zoneinfo import ZoneInfo
|
||||
|
||||
from email_validator import EmailNotValidError, EmailUndeliverableError, validate_email
|
||||
from jinja2 import pass_context
|
||||
|
@ -101,6 +102,10 @@ def timestamp_to_datetime(timestamp: int):
|
|||
return datetime.utcfromtimestamp(int(timestamp))
|
||||
|
||||
|
||||
def as_timezone(dt: datetime, timezone: str):
|
||||
return dt.astimezone(tz=ZoneInfo(timezone))
|
||||
|
||||
|
||||
def jsonify(obj):
|
||||
""" Perform a conversion on obj if it's needed. """
|
||||
if isinstance(obj, datetime):
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
from datetime import datetime
|
||||
from zoneinfo import ZoneInfo
|
||||
|
||||
from aurweb import util
|
||||
|
||||
|
@ -7,3 +8,9 @@ def test_timestamp_to_datetime():
|
|||
ts = datetime.utcnow().timestamp()
|
||||
dt = datetime.utcfromtimestamp(int(ts))
|
||||
assert util.timestamp_to_datetime(ts) == dt
|
||||
|
||||
|
||||
def test_as_timezone():
|
||||
ts = datetime.utcnow().timestamp()
|
||||
dt = util.timestamp_to_datetime(ts)
|
||||
assert util.as_timezone(dt, "UTC") == dt.astimezone(tz=ZoneInfo("UTC"))
|
||||
|
|
Loading…
Add table
Reference in a new issue