fix(doorman): HA Jinja has no split filter — method-call parsing [#345]
Live webhook test caught it: TemplateRuntimeError 'No filter named
split'. enabled_ids/holder rebuilt with row.split('|') method calls
in a namespace loop.
https://projects.knownelement.com/issues/345
This commit is contained in:
+10
-5
@@ -100,13 +100,18 @@ automation:
|
|||||||
known_ids: >-
|
known_ids: >-
|
||||||
{{ all_csv.split(',') | map('trim') | select('match', '^\d+$') | list }}
|
{{ all_csv.split(',') | map('trim') | select('match', '^\d+$') | list }}
|
||||||
enabled_ids: >-
|
enabled_ids: >-
|
||||||
{{ enabled_csv.split(',') | map('trim')
|
{% set ns = namespace(ids=[]) %}
|
||||||
| select('match', '^\d+\|') | map('split', '|') | map('first')
|
{% for row in enabled_csv.split(',') %}
|
||||||
| list }}
|
{% set parts = row.split('|') %}
|
||||||
|
{% if parts | length == 2 %}
|
||||||
|
{% set ns.ids = ns.ids + [parts[0] | trim] %}
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
{{ ns.ids }}
|
||||||
holder: >-
|
holder: >-
|
||||||
{% set hit = enabled_csv.split(',') | map('trim')
|
{% set hits = enabled_csv.split(',') | map('trim')
|
||||||
| select('search', '^' ~ badge_id ~ '\|') | list %}
|
| select('search', '^' ~ badge_id ~ '\|') | list %}
|
||||||
{{ (hit[0].split('|')[1] if hit else 'UNKNOWN') }}
|
{{ hits[0].split('|')[1] | trim if hits else 'UNKNOWN' }}
|
||||||
is_known: "{{ badge_id in known_ids }}"
|
is_known: "{{ badge_id in known_ids }}"
|
||||||
is_enabled: "{{ badge_id in enabled_ids }}"
|
is_enabled: "{{ badge_id in enabled_ids }}"
|
||||||
- action: input_text.set_value
|
- action: input_text.set_value
|
||||||
|
|||||||
Reference in New Issue
Block a user