How vianvezo/systemscanprintlocal works
SystemScanPrintLocal is a Flask application for discovering network printers, tracking them by site/network, and reporting device and supply status. Users request a scan; the background scan sweeps the configured range, identifies printer devices, and stores discoveries. Status requests read registered printers, query their embedded web interfaces or SNMP, and return cached results; users can also maintain site and printer records and export supply reports. The source excerpts show these flows, but not the rendered templates or the full scan-task implementation.
Main entry points: app.py Flask routes · scraper.py Status and supplies · db.py Record operations · scanner.py Network sweep
Components 13
Web application
- Flask routes
app.py - Background scan
app.py - Spreadsheet export
app.py
Printer discovery
- Network sweep
scanner.py - Printer identification
printer_detector.py
Status collection
- Status and supplies
scraper.py
Configuration and records
- Record operations
db.py - Printer records
printers.db - Scan settings
config.py
Other components
- Operator
- Network printers
- SNMP agents
- Excel workbook
Connections 20
- Operator → Flask routes: uses
- Flask routes → Background scan: starts scan
- Background scan → Network sweep: sweeps range
- Network sweep → Scan settings: reads settings
- Network sweep → Network printers: probes hosts
- Background scan → Printer identification: identifies hosts
- Printer identification → Network sweep: checks ports
- Printer identification → Network printers: queries interfaces
- Background scan → Record operations: stores discoveries
- Flask routes → Record operations: manages records
- Record operations → Printer records: reads and writes
- Flask routes → Status and supplies: requests status
- Status and supplies → Record operations: loads printers
- Status and supplies → Network printers: fetches status
- Status and supplies → SNMP agents: queries supplies
- Flask routes → Spreadsheet export: requests export
- Spreadsheet export → Status and supplies: gets status
- Spreadsheet export → Record operations: loads site details
- Spreadsheet export → Excel workbook: creates workbook
- Flask routes → Operator: returns API results