1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62 | from django.template import Library
from django.conf import settings
def _getdefault(name, default=None):
try:
default = getattr(settings, name)
except: pass
return default
SHOW_DEPTH = _getdefault('NAVBAR_TREE_SHOW_DEPTH', -1)
numbers = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven',
'eight', 'nine', 'ten', 'eleven', 'twelve', 'thirteen',
'fourteen', 'fifteen', 'sixteen', 'seventeen', 'eightteen',
'nineteen',]
_dig = numbers[1:10]
for ent in ['twenty', 'thirty', 'fourty', 'fifty', 'sixty', 'seventy',
'eighty', 'ninety']:
numbers.append(ent)
numbers.extend(ent + "-" + num for num in _dig)
register = Library()
@register.filter
def cssnumber(num):
"""like humanize appnum but goes the full gambit from 0 to 99.
Is not translated as this is intended for CSS use.
0 : zero
10: ten
45: fourty-five
use the filter tag if you want a translation...
"""
return numbers[num]
@register.inclusion_tag('navbar/subtree.html')
def subtree(children, depth=0):
"""Process a sub part of the nav tree
"""
return { 'subtree': children, 'depth': depth+1,
'show_unselected': (SHOW_DEPTH == -1 or depth < SHOW_DEPTH),
'level': numbers[depth+1] }
@register.inclusion_tag('navbar/tree.html', takes_context=True)
def navtree(context):
"""simpler helper so you dont need to do the include ;-)
"""
return context
@register.inclusion_tag('navbar/navbar.html', takes_context=True)
def navbar(context):
"""simpler helper so you dont need to do the include ;-)
"""
return context
@register.inclusion_tag('navbar/navbars.html', takes_context=True)
def navbars(context):
"""simpler helper so you dont need to do the include ;-)
"""
return context
|