Commit Graph

3 Commits

Author SHA1 Message Date
Mortdecai b9865be55f fix: direct-IP fallback when printer_mac unset; force utf-8 in bridge subprocess
Final-review hardening:
- discover_printer falls back to direct IP reachability when printer_mac is
  empty (restores legacy behavior; avoids permanent unreachable on misconfig).
  Keeps the MAC check when a MAC IS set so we never print to a wrong DHCP tenant.
- bridge subprocess decodes child stdout as utf-8 explicitly, so a LANG=C systemd
  locale can't UnicodeDecodeError on the success checkmark and mis-report error.
- add tests for both no-MAC fallback paths (5 passed).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-07 13:48:59 -04:00
Mortdecai 06bc18ed31 fix: add tests/pytest.ini + move Path import to top (completes 2308f24)
The prior commit only recorded the conftest.py deletion; this adds the actual
fix: tests/pytest.ini (pins rootdir to tests/ so the standard pytest command
no longer crashes on the dead /root/bin symlink) and the PEP8 import move.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-07 13:28:15 -04:00
Mortdecai 7bfe862f53 feat: discover printer by MAC (survives DHCP IP changes)
Add discover_printer(), _mac_of(), _port_open(), _sweep_arp(), _cache_ip()
with PRINTER_MAC/PRINTER_SUBNET/CACHE_FILE config + unit tests. Also adds
conftest.py to work around broken symlink that blocked pytest collection.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-07 13:20:34 -04:00