(tokens, name, context)
| 879 | |
| 880 | |
| 881 | def parse_default(tokens, name, context): |
| 882 | first, pos = tokens[0] |
| 883 | assert first.startswith("default ") |
| 884 | first = first.split(None, 1)[1] |
| 885 | parts = first.split("=", 1) |
| 886 | if len(parts) == 1: |
| 887 | raise TemplateError( |
| 888 | f"Expression must be {{{{default var=value}}}}; no = found in {first!r}", |
| 889 | position=pos, |
| 890 | name=name, |
| 891 | ) |
| 892 | var = parts[0].strip() |
| 893 | if "," in var: |
| 894 | raise TemplateError( |
| 895 | "{{default x, y = ...}} is not supported", position=pos, name=name |
| 896 | ) |
| 897 | if not var_re.search(var): |
| 898 | raise TemplateError( |
| 899 | f"Not a valid variable name for {{{{default}}}}: {var!r}", |
| 900 | position=pos, |
| 901 | name=name, |
| 902 | ) |
| 903 | expr = parts[1].strip() |
| 904 | return ("default", pos, var, expr), tokens[1:] |
| 905 | |
| 906 | |
| 907 | def parse_inherit(tokens, name, context): |
no test coverage detected
searching dependent graphs…