Persist tape printer settings alongside sheet defaults

This commit is contained in:
jessikitty committed 2026-10-12 21:31:09 +11:00
1 parent f86efd875d
commit 6433f1b172
1 file changed
+21 -2
+21 -2
View File
@@ -15,7 +15,7 @@ Routes:
/admin/labels/print the printable sheet /admin/labels/print the printable sheet
/admin/labels/print.pdf same sheet as a PDF (ReportLab only) /admin/labels/print.pdf same sheet as a PDF (ReportLab only)
/admin/labels/categories manage the taxonomy /admin/labels/categories manage the taxonomy
/admin/labels/settings API key and print defaults /admin/labels/settings API key, print defaults, tape printer
Created by: Jess Rogerson (yelling commands at Claude.AI) Created by: Jess Rogerson (yelling commands at Claude.AI)
""" """
@@ -32,7 +32,7 @@ from app import db
from app.models.part_label import PartCategory, PartLabel, slugify from app.models.part_label import PartCategory, PartLabel, slugify
from app.models.site_setting import SiteSetting from app.models.site_setting import SiteSetting
from app.routes.admin import admin_required from app.routes.admin import admin_required
from app.services import label_render from app.services import label_render, tape_printer
from app.services.part_catalog import (RebrickableAPI, cache_part_image, from app.services.part_catalog import (RebrickableAPI, cache_part_image,
ensure_seeded, seed_categories) ensure_seeded, seed_categories)
@@ -418,6 +418,19 @@ def settings():
or label_render.DEFAULT_PRESET) or label_render.DEFAULT_PRESET)
SiteSetting.set('label_offset_x', request.form.get('offset_x') or '0') SiteSetting.set('label_offset_x', request.form.get('offset_x') or '0')
SiteSetting.set('label_offset_y', request.form.get('offset_y') or '0') SiteSetting.set('label_offset_y', request.form.get('offset_y') or '0')
# Brother VC-500W (or any AirPrint label printer) over IPP
SiteSetting.set('tape_printer_host',
(request.form.get('tape_printer_host') or '').strip())
SiteSetting.set('tape_printer_port',
(request.form.get('tape_printer_port') or '631').strip())
SiteSetting.set('tape_printer_path',
(request.form.get('tape_printer_path')
or '/ipp/print').strip())
SiteSetting.set('tape_printer_format',
(request.form.get('tape_printer_format') or '').strip())
SiteSetting.set('tape_default',
request.form.get('tape_default') or tape_printer.DEFAULT_TAPE)
db.session.commit() db.session.commit()
flash('Label settings saved.', 'success') flash('Label settings saved.', 'success')
return redirect(url_for('labels.settings')) return redirect(url_for('labels.settings'))
@@ -433,4 +446,10 @@ def settings():
offset_x=SiteSetting.get('label_offset_x', '0'), offset_x=SiteSetting.get('label_offset_x', '0'),
offset_y=SiteSetting.get('label_offset_y', '0'), offset_y=SiteSetting.get('label_offset_y', '0'),
pdf_available=label_render.reportlab_available(), pdf_available=label_render.reportlab_available(),
tapes=tape_printer.TAPE_PRESETS,
tape_printer_host=SiteSetting.get('tape_printer_host', '') or '',
tape_printer_port=SiteSetting.get('tape_printer_port', '631') or '631',
tape_printer_path=SiteSetting.get('tape_printer_path', '/ipp/print') or '/ipp/print',
tape_printer_format=SiteSetting.get('tape_printer_format', '') or '',
tape_default=SiteSetting.get('tape_default', tape_printer.DEFAULT_TAPE),
) )