Revision 5841646f snf-astakos-app/astakos/im/templatetags/filters.py
b/snf-astakos-app/astakos/im/templatetags/filters.py | ||
---|---|---|
33 | 33 |
|
34 | 34 |
import calendar |
35 | 35 |
import datetime |
36 |
import math |
|
36 | 37 |
|
37 | 38 |
from collections import defaultdict |
38 | 39 |
|
... | ... | |
40 | 41 |
from django.core.paginator import Paginator, EmptyPage |
41 | 42 |
from django.db.models.query import QuerySet |
42 | 43 |
|
44 |
|
|
43 | 45 |
from astakos.im.settings import PAGINATE_BY |
44 | 46 |
|
47 |
|
|
45 | 48 |
register = template.Library() |
46 | 49 |
|
47 | 50 |
DELIM = ',' |
... | ... | |
76 | 79 |
|
77 | 80 |
@register.filter |
78 | 81 |
def lookup(d, key): |
82 |
print d, key |
|
79 | 83 |
return d.get(key) |
80 | 84 |
|
81 | 85 |
@register.filter |
... | ... | |
165 | 169 |
|
166 | 170 |
@register.filter |
167 | 171 |
def sizeof_fmt(num): |
172 |
|
|
168 | 173 |
"""Human friendly file size""" |
174 |
if math.isinf(num): |
|
175 |
return 'Unlimited' |
|
169 | 176 |
if num > 1: |
170 | 177 |
exponent = min(int(log(num, 1024)), len(unit_list) - 1) |
171 | 178 |
quotient = float(num) / 1024**exponent |
172 | 179 |
unit, num_decimals = unit_list[exponent] |
173 |
format_string = '{:.%sf} {0}' % (num_decimals)
|
|
180 |
format_string = '{0:.%sf} {1}' % (num_decimals)
|
|
174 | 181 |
return format_string.format(quotient, unit) |
175 | 182 |
if num == 0: |
176 | 183 |
return '0 bytes' |
177 | 184 |
if num == 1: |
178 | 185 |
return '1 byte' |
179 | 186 |
else: |
180 |
return ''; |
|
187 |
return '0'; |
|
188 |
|
|
189 |
@register.filter |
|
190 |
def isinf(v): |
|
191 |
if math.isinf(v): |
|
192 |
return 'Unlimited' |
|
193 |
else: |
|
194 |
return v |
Also available in: Unified diff