summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Crute <mcrute@gmail.com>2010-12-30 01:08:35 -0500
committerMike Crute <mcrute@gmail.com>2010-12-30 01:08:35 -0500
commitca58f2182b24717e1c3fb9f9da9397ff5e81fc2f (patch)
tree1f1a3dfa692da44cd03827e1cdec1e88544cc07e
parent3c17bf6bcf8622100da0dda6465f5148627d91d8 (diff)
downloadgreenbox-ca58f2182b24717e1c3fb9f9da9397ff5e81fc2f.tar.bz2
greenbox-ca58f2182b24717e1c3fb9f9da9397ff5e81fc2f.tar.xz
greenbox-ca58f2182b24717e1c3fb9f9da9397ff5e81fc2f.zip
Adding template tag to do formatting of ingredients quantity.
-rw-r--r--greenbox/recipe/templatetags/__init__.py4
-rw-r--r--greenbox/recipe/templatetags/ingredientformat.py31
2 files changed, 35 insertions, 0 deletions
diff --git a/greenbox/recipe/templatetags/__init__.py b/greenbox/recipe/templatetags/__init__.py
new file mode 100644
index 0000000..9bd6204
--- /dev/null
+++ b/greenbox/recipe/templatetags/__init__.py
@@ -0,0 +1,4 @@
1from django import template
2
3
4register = template.Library()
diff --git a/greenbox/recipe/templatetags/ingredientformat.py b/greenbox/recipe/templatetags/ingredientformat.py
new file mode 100644
index 0000000..fa75633
--- /dev/null
+++ b/greenbox/recipe/templatetags/ingredientformat.py
@@ -0,0 +1,31 @@
1from recipe.templatetags import register
2from django.template.defaultfilters import stringfilter
3
4
5@register.filter(name="format_ingredient_quantity")
6@stringfilter
7def format_ingredient_quantity(value):
8 fractions = {
9 0.125: '1/8',
10 0.25 : '1/4',
11 0.33 : '1/3',
12 0.50 : '1/2',
13 0.66 : '2/3',
14 0.75 : '3/4',
15 }
16
17 value = float(value)
18 remainder = round(value % 1, 2)
19 whole = int(value - remainder)
20
21 if whole <= 0:
22 whole = ""
23 else:
24 whole = str(whole)
25
26 if remainder <= 0:
27 remainder = ""
28 else:
29 remainder = fractions.get(remainder, str(remainder))
30
31 return "{0} {1}".format(whole, remainder)