From 840bd59bb1d81474a2b2775e8cd2c5984c672125 Mon Sep 17 00:00:00 2001 From: Markus Zolliker Date: Tue, 12 Sep 2023 09:05:44 +0200 Subject: [PATCH] [WIP] sea info: return '?' for when confirmed device does not match --- seaman.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/seaman.py b/seaman.py index 34a06d1..e5b54ad 100644 --- a/seaman.py +++ b/seaman.py @@ -29,8 +29,8 @@ import re from os.path import join, exists from servicemanager.base import ServiceManager, ServiceDown, UsageError -CFGLINE = re.compile(r'(device makeitem (name|stick_name) "(.*)" ""|' - r'addon_list makeitem (.*) ("permanent"|"volatile"))') +CFGLINE = re.compile(r'(?:device makeitem (name|stick_name|confirmed) "(.*)" ""' + r'|addon_list makeitem (.*) (?:"permanent"|"volatile"))') def run_command(cmd, wait=False): @@ -128,20 +128,25 @@ class SeaManager(ServiceManager): if not exists(seastatus): return '?' result = ['', ''] + confirmed = '' with open(seastatus, 'r', encoding='utf-8') as f: for line in f: match = CFGLINE.match(line) if match: - _, key, dev, addon, _ = match.groups() + key, dev, addon = match.groups() if addon: if addon != result[1]: result.append(addon) elif key == 'name': result[0] = dev - else: + elif key == 'stick_name': result[1] = dev + elif key == 'confirmed': + confirmed = dev if not result[-1]: result.pop() + if confirmed and confirmed != result[0]: + result[0] = '?' return '/'.join(result) except Exception as e: return repr(e)