- Timestamp:
- Jul 25, 2010, 1:50:01 AM (15 years ago)
- Branches:
- master, client
- Children:
- 3e372da
- Parents:
- bef7191
- git-author:
- Alex Dehnert <adehnert@…> (07/25/10 01:50:01)
- git-committer:
- Alex Dehnert <adehnert@…> (07/25/10 01:50:01)
- File:
-
- 1 edited
-
remit/util/templatetags/misc.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
remit/util/templatetags/misc.py
re1086bd rdd6edfb 1 1 from django import template 2 from django.template import Node, NodeList, Template, Context, Variable 2 3 import finance_core.models 3 4 … … 30 31 else: return 'zero' 31 32 33 class IfInNode(Node): 34 def __init__(self, member, container, nodelist_true, nodelist_false, negate): 35 self.member, self.container = member, container 36 self.nodelist_true, self.nodelist_false = nodelist_true, nodelist_false 37 self.negate = negate 38 39 def __repr__(self): 40 return "<IfInNode>" 41 42 def render(self, context): 43 member_val = self.member.resolve(context, True) 44 container_val = self.container.resolve(context, True) 45 res = member_val in container_val 46 if (self.negate and not res) or (not self.negate and res): 47 return self.nodelist_true.render(context) 48 return self.nodelist_false.render(context) 49 50 def do_ifin(parser, token, negate): 51 bits = list(token.split_contents()) 52 if len(bits) != 3: 53 raise TemplateSyntaxError, "%r takes two arguments" % bits[0] 54 end_tag = 'end' + bits[0] 55 nodelist_true = parser.parse(('else', end_tag)) 56 token = parser.next_token() 57 if token.contents == 'else': 58 nodelist_false = parser.parse((end_tag,)) 59 parser.delete_first_token() 60 else: 61 nodelist_false = NodeList() 62 member = parser.compile_filter(bits[1]) 63 container = parser.compile_filter(bits[2]) 64 return IfInNode(member, container, nodelist_true, nodelist_false, negate) 65 register.tag("ifin", lambda x, y: do_ifin(x, y, False)) 66 67 32 68 register.filter('layer_num', finance_core.models.layer_num) 33 69 register.filter('layer_name', finance_core.models.layer_name)
Note: See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/trac/chrome/site/your_project_logo.png)