##// END OF EJS Templates
templater: use "needle" and "haystack" as (meta-)variables for ifcontains()...
av6 -
r30049:f18cc848 default
parent child Browse files
Show More
@@ -596,18 +596,18 b' def if_(context, mapping, args):'
596 596 elif len(args) == 3:
597 597 yield args[2][0](context, mapping, args[2][1])
598 598
599 @templatefunc('ifcontains(search, thing, then[, else])')
599 @templatefunc('ifcontains(needle, haystack, then[, else])')
600 600 def ifcontains(context, mapping, args):
601 601 """Conditionally execute based
602 on whether the item "search" is in "thing"."""
602 on whether the item "needle" is in "haystack"."""
603 603 if not (3 <= len(args) <= 4):
604 604 # i18n: "ifcontains" is a keyword
605 605 raise error.ParseError(_("ifcontains expects three or four arguments"))
606 606
607 item = evalstring(context, mapping, args[0])
608 items = evalfuncarg(context, mapping, args[1])
607 needle = evalstring(context, mapping, args[0])
608 haystack = evalfuncarg(context, mapping, args[1])
609 609
610 if item in items:
610 if needle in haystack:
611 611 yield args[2][0](context, mapping, args[2][1])
612 612 elif len(args) == 4:
613 613 yield args[3][0](context, mapping, args[3][1])
General Comments 0
You need to be logged in to leave comments. Login now