(tokens, name, context)
| 971 | |
| 972 | |
| 973 | def parse_default(tokens, name, context): |
| 974 | first, pos = tokens[0] |
| 975 | assert first.startswith('default ') |
| 976 | first = first.split(None, 1)[1] |
| 977 | parts = first.split('=', 1) |
| 978 | if len(parts) == 1: |
| 979 | raise TemplateError( |
| 980 | "Expression must be {{default var=value}}; no = found in %r" % |
| 981 | first, position=pos, name=name) |
| 982 | var = parts[0].strip() |
| 983 | if ',' in var: |
| 984 | raise TemplateError( |
| 985 | "{{default x, y = ...}} is not supported", |
| 986 | position=pos, name=name) |
| 987 | if not var_re.search(var): |
| 988 | raise TemplateError( |
| 989 | "Not a valid variable name for {{default}}: %r" |
| 990 | % var, position=pos, name=name) |
| 991 | expr = parts[1].strip() |
| 992 | return ('default', pos, var, expr), tokens[1:] |
| 993 | |
| 994 | |
| 995 | def parse_inherit(tokens, name, context): |
no test coverage detected