diff --git a/tasks/main.yml b/tasks/main.yml index 5112e8f..5dba7d2 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -44,7 +44,7 @@ msg: > {{ wol_check.results | map(attribute='stdout_lines') | list }} -- name: Parse WOL support and state (exception-safe) +- name: Parse WOL support and state (guaranteed match) ansible.builtin.set_fact: wol_info: >- {{ @@ -53,15 +53,15 @@ item.item: { 'supports_magic': ( - item.stdout - | regex_findall('Supports Wake-on:\\s*([a-z]+)') - | first - | default('') + item.stdout_lines + | select('search', 'Supports Wake-on:') + | join('') ).find('g') != -1, 'current_state': ( - item.stdout - | regex_findall('Wake-on:\\s*([a-z]+)') + item.stdout_lines + | select('search', '^\\s*Wake-on:') + | map('regex_replace', '.*Wake-on:\\s*', '') | first | default('unknown') )