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.
|
# Utility filters.
|
||||||
env.filters["dt"] = util.timestamp_to_datetime
|
env.filters["dt"] = util.timestamp_to_datetime
|
||||||
|
env.filters["as_timezone"] = util.as_timezone
|
||||||
|
|
||||||
# Add captcha filters.
|
# Add captcha filters.
|
||||||
env.filters["captcha_salt"] = captcha.captcha_salt_filter
|
env.filters["captcha_salt"] = captcha.captcha_salt_filter
|
||||||
|
|
|
@ -5,6 +5,7 @@ import string
|
||||||
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from urllib.parse import urlparse
|
from urllib.parse import urlparse
|
||||||
|
from zoneinfo import ZoneInfo
|
||||||
|
|
||||||
from email_validator import EmailNotValidError, EmailUndeliverableError, validate_email
|
from email_validator import EmailNotValidError, EmailUndeliverableError, validate_email
|
||||||
from jinja2 import pass_context
|
from jinja2 import pass_context
|
||||||
|
@ -101,6 +102,10 @@ def timestamp_to_datetime(timestamp: int):
|
||||||
return datetime.utcfromtimestamp(int(timestamp))
|
return datetime.utcfromtimestamp(int(timestamp))
|
||||||
|
|
||||||
|
|
||||||
|
def as_timezone(dt: datetime, timezone: str):
|
||||||
|
return dt.astimezone(tz=ZoneInfo(timezone))
|
||||||
|
|
||||||
|
|
||||||
def jsonify(obj):
|
def jsonify(obj):
|
||||||
""" Perform a conversion on obj if it's needed. """
|
""" Perform a conversion on obj if it's needed. """
|
||||||
if isinstance(obj, datetime):
|
if isinstance(obj, datetime):
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
from zoneinfo import ZoneInfo
|
||||||
|
|
||||||
from aurweb import util
|
from aurweb import util
|
||||||
|
|
||||||
|
@ -7,3 +8,9 @@ def test_timestamp_to_datetime():
|
||||||
ts = datetime.utcnow().timestamp()
|
ts = datetime.utcnow().timestamp()
|
||||||
dt = datetime.utcfromtimestamp(int(ts))
|
dt = datetime.utcfromtimestamp(int(ts))
|
||||||
assert util.timestamp_to_datetime(ts) == dt
|
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