diff options
author | Mike Crute <mcrute@gmail.com> | 2010-12-30 01:08:35 -0500 |
---|---|---|
committer | Mike Crute <mcrute@gmail.com> | 2010-12-30 01:08:35 -0500 |
commit | ca58f2182b24717e1c3fb9f9da9397ff5e81fc2f (patch) | |
tree | 1f1a3dfa692da44cd03827e1cdec1e88544cc07e | |
parent | 3c17bf6bcf8622100da0dda6465f5148627d91d8 (diff) | |
download | greenbox-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__.py | 4 | ||||
-rw-r--r-- | greenbox/recipe/templatetags/ingredientformat.py | 31 |
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 @@ | |||
1 | from django import template | ||
2 | |||
3 | |||
4 | register = 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 @@ | |||
1 | from recipe.templatetags import register | ||
2 | from django.template.defaultfilters import stringfilter | ||
3 | |||
4 | |||
5 | @register.filter(name="format_ingredient_quantity") | ||
6 | @stringfilter | ||
7 | def 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) | ||