From e63266510292425fe18516fe04822651777936ec Mon Sep 17 00:00:00 2001 From: Nico Passlick Date: Wed, 13 Aug 2025 16:55:53 +0000 Subject: [PATCH] fix: input prompt on mode switch --- pyproject.toml | 2 +- scanner_cli/main.py | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index aa75fa7..7adcc1c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "scanner-cli" -version = "1.0.2" +version = "1.0.3" description = "CLI tool to read barcodes via stdin and route them to REST endpoints based on configurable modes." readme = "README.md" authors = [{ name = "Passlick Development", email = "hello@passlickdev.com" }] diff --git a/scanner_cli/main.py b/scanner_cli/main.py index 16219e6..4ab645b 100644 --- a/scanner_cli/main.py +++ b/scanner_cli/main.py @@ -239,15 +239,7 @@ def schedule_timeout(): ephemeral = False raw_barcode = barcode if triggered_mode: - if triggered_mode.prefix_trigger: - for pref in triggered_mode.prefix_trigger: - if barcode.startswith(pref): - effective_mode = triggered_mode - ephemeral = True - if triggered_mode.strip_prefix: - barcode = barcode[len(pref):] - break - if not ephemeral and triggered_mode.trigger and barcode in triggered_mode.trigger: + if triggered_mode.trigger and barcode in triggered_mode.trigger: with mode_lock: current_mode = triggered_mode effective_mode = current_mode @@ -283,6 +275,14 @@ def schedule_timeout(): log_event("exception", mode=effective_mode.name, method=effective_mode.method, error=str(e)) continue + if triggered_mode.prefix_trigger: + for pref in triggered_mode.prefix_trigger: + if barcode.startswith(pref): + effective_mode = triggered_mode + ephemeral = True + if triggered_mode.strip_prefix: + barcode = barcode[len(pref):] + break payload = {"barcode": barcode, "mode": effective_mode.name, "action": "scan"}