refactor label printer configuration handling and add fallback safety for missing components
This commit is contained in:
parent
2f423f4281
commit
b2ccce9e9f
|
|
@ -145,7 +145,7 @@ def read_steps(row, config, defaults=None, unsupported_steps=None):
|
|||
"labeltxt_5": row.get("barcode_input_finelinea", ""),
|
||||
"extra_label": row.get("etichette_supplementari", ""),
|
||||
"barcode": row.get("barcode_stampato",defaults["barcode_format"]),
|
||||
"printer_selection": row.get("printer_selection", config.get("label_printer", {}).get("printer", "")),
|
||||
"printer_selection": row.get("printer_selection", (config.get("label_printer", {}) or {}).get("printer", "")),
|
||||
},
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -62,10 +62,15 @@ class Recipe_Selection(Widget):
|
|||
}
|
||||
filters = {"archived": False}
|
||||
step_defaults = self.read_steps(self.config.get("recipes_defaults", noner), noner)
|
||||
if self.config["label_printer"]["risoluzione"] == "300":
|
||||
lp_cfg = self.config.get("label_printer", {}) or {}
|
||||
try:
|
||||
ris = int(str(lp_cfg.get("risoluzione", "300")).strip())
|
||||
except Exception:
|
||||
ris = 300
|
||||
if ris == 300:
|
||||
custom_label_folder = f"config/label_templates/{str(self.config.machine_id)}/300/"
|
||||
standard_label_folder = f"config/label_templates/300/"
|
||||
elif self.config["label_printer"]["risoluzione"] == "203":
|
||||
else:
|
||||
custom_label_folder = f"config/label_templates/{str(self.config.machine_id)}/203/"
|
||||
standard_label_folder = f"config/label_templates/203/"
|
||||
|
||||
|
|
@ -86,8 +91,8 @@ class Recipe_Selection(Widget):
|
|||
templates_300 = sorted(map(os.path.basename, glob(f"{label_folder_300}*.prn")))
|
||||
|
||||
# Available printers from both sections (only 'printer' key) and mapping to resolution
|
||||
lp1 = self.config.get("label_printer", {})
|
||||
lp2 = self.config.get("label_printer_2", {})
|
||||
lp1 = self.config.get("label_printer", {}) or {}
|
||||
lp2 = self.config.get("label_printer_2", {}) or {}
|
||||
lp1_p = lp1.get("printer", "")
|
||||
lp2_p = lp2.get("printer", "")
|
||||
printers_list = []
|
||||
|
|
|
|||
|
|
@ -998,6 +998,10 @@ class Test(Widget):
|
|||
lp2_printer = lp2_cfg.get("printer", "")
|
||||
use_comp_name = "label_printer_2" if selected_printer and lp2_printer and selected_printer == lp2_printer else "label_printer"
|
||||
comp = self.components.get(use_comp_name) or self.components.get("label_printer") or self.components.get("label_printer_2")
|
||||
if comp is None:
|
||||
# No printer component available; log and skip printing safely
|
||||
self.log.warning("No label printer component available; skipping label print.")
|
||||
return context
|
||||
# Set the target device name to selected printer if provided
|
||||
if selected_printer:
|
||||
try:
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user