summaryrefslogtreecommitdiff
path: root/talerbank/jinja2.py
diff options
context:
space:
mode:
authorMarcello Stanisci <stanisci.m@gmail.com>2019-02-08 17:23:03 +0100
committerMarcello Stanisci <stanisci.m@gmail.com>2019-03-29 18:06:26 +0100
commitefd3fa0187f9985537407f243ed6e0eeb89e73ed (patch)
treec3cf2364ee22ae93a71a84b46c0f2940cefa5114 /talerbank/jinja2.py
parent95bf6b05ea4591411d183217d5853e2207b9ea72 (diff)
downloadbank-efd3fa0187f9985537407f243ed6e0eeb89e73ed.tar.gz
bank-efd3fa0187f9985537407f243ed6e0eeb89e73ed.tar.bz2
bank-efd3fa0187f9985537407f243ed6e0eeb89e73ed.zip
5543. Let Jinja render abnormal balances.
Diffstat (limited to 'talerbank/jinja2.py')
-rw-r--r--talerbank/jinja2.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/talerbank/jinja2.py b/talerbank/jinja2.py
index b646162..9c2c52e 100644
--- a/talerbank/jinja2.py
+++ b/talerbank/jinja2.py
@@ -20,6 +20,7 @@
# @brief Extends the Jinja2 API with custom functions.
import os
+import math
from urllib.parse import urlparse
from django.urls import reverse, get_script_prefix
from django.conf import settings
@@ -108,6 +109,19 @@ def env_get(name, default=None):
#
# @param options opaque argument (?) given from the caller.
# @return Jinja2-specific object that contains the new definitions.
+def is_valid_amount(amount):
+ if math.isnan(amount.value):
+ return False
+
+
+##
+# Stringifies amount.
+#
+# @param amount amount object.
+# @return amount pretty string.
+def amount_stringify(amount):
+ return amount.stringify(settings.TALER_DIGITS, pretty=True)
+
def environment(**options):
env = Environment(**options)
env.globals.update({
@@ -115,5 +129,7 @@ def environment(**options):
'url': url,
'settings_value': settings_value,
'env': env_get,
+ 'is_valid_amount': is_valid_amount
+ 'amount_stringify': amount_stringify
})
return env