add util.timezone_to_datetime -> dt Jinja2 filter

Signed-off-by: Kevin Morris <kevr@0cost.org>
This commit is contained in:
Kevin Morris 2021-06-18 16:49:41 -07:00
parent f89d06d092
commit ac67268a28
3 changed files with 16 additions and 0 deletions

View file

@ -23,6 +23,9 @@ env = jinja2.Environment(loader=loader, autoescape=True,
# Add tr translation filter. # Add tr translation filter.
env.filters["tr"] = l10n.tr env.filters["tr"] = l10n.tr
# Utility filters.
env.filters["dt"] = util.timestamp_to_datetime
# Add captcha filters. # Add captcha filters.
env.filters["captcha_salt"] = captcha.captcha_salt_filter env.filters["captcha_salt"] = captcha.captcha_salt_filter
env.filters["captcha_cmdline"] = captcha.captcha_cmdline_filter env.filters["captcha_cmdline"] = captcha.captcha_cmdline_filter

View file

@ -97,6 +97,10 @@ def account_url(context, user):
return f"{base}/account/{user.Username}" return f"{base}/account/{user.Username}"
def timestamp_to_datetime(timestamp: int):
return datetime.utcfromtimestamp(int(timestamp))
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):

9
test/test_util.py Normal file
View file

@ -0,0 +1,9 @@
from datetime import datetime
from aurweb import util
def test_timestamp_to_datetime():
ts = datetime.utcnow().timestamp()
dt = datetime.utcfromtimestamp(int(ts))
assert util.timestamp_to_datetime(ts) == dt