Add filter for formatting dollar values

This commit is contained in:
Patrick Smith 2018-08-20 11:00:40 -04:00
parent 2f62aebd57
commit cfc76f5137
3 changed files with 25 additions and 1 deletions

View File

@ -3,5 +3,14 @@ def iconSvg(name):
return contents.read()
def dollars(value):
try:
numberValue = float(value)
except ValueError:
numberValue = 0
return "${:,.0f}".format(numberValue)
def register_filters(app):
app.jinja_env.filters['iconSvg'] = iconSvg
app.jinja_env.filters['dollars'] = dollars

View File

@ -116,7 +116,7 @@
<td>{{ r['full_name'] }}</td>
<td></td>
{% endif %}
<td>${{ r['annual_usage'] }}</td>
<td>{{ r['annual_usage'] | dollars }}</td>
<td>{{ r['status'] }}</td>
</tr>
{% endfor %}

15
tests/test_filters.py Normal file
View File

@ -0,0 +1,15 @@
import pytest
from atst.filters import dollars
@pytest.mark.parametrize("input,expected", [
('0', '$0'),
('123.00', '$123'),
('1234567', '$1,234,567'),
('-1234', '$-1,234'),
('one', '$0'),
])
def test_dollar_fomatter(input, expected):
assert dollars(input) == expected