From 670021fcc87477f3f1c964f6aec53ac1445677db Mon Sep 17 00:00:00 2001 From: Jose Date: Thu, 25 Dec 2025 21:45:03 +0100 Subject: [PATCH] =?UTF-8?q?refactor=20=E2=99=BB=EF=B8=8F:=20Refactor=20WOL?= =?UTF-8?q?=20parsing=20logic?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Updated WOL parsing to use `select` and `join` for guaranteed matches, improving reliability. --- tasks/main.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) 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') )