How nsfr750/msr605 works
MSR605 is a PyQt desktop application for operating a magnetic-stripe reader/writer. The main workflow is user input through the GUI, device operations through the reader interface and serial hardware, then track data display and optional record management. The repository also documents advanced decoding, validation, visualization, multilingual UI, and data-management features. Sampled excerpts confirm the application entry point, reader interface, parser, settings/language modules, and a separate API; some other feature wiring is documented but not visible in the excerpts.
Main entry points: UI.py Desktop GUI · cardReader.py MSR605 interface · parser.py Track parser · __init__.py REST API
Components 21
Desktop application
- Application entry
main.py - Desktop GUI
script/UI.py - Settings manager
script/settings_manager.py - Language manager
script/language_manager.py - Translations
script/translations.py
Card operations
- MSR605 interface
script/cardReader.py
Track data
- Card formats
script/card_formats.py - Track validation
script/card_validation.py - Track parser
script/parser.py - Advanced operations
script/advanced_functions.py - Card decryption
script/decrypt.py - Data visualization
script/visualization.py - Card records
script/UI.py
Interfaces and support
- REST API
script/api/__init__.py - Card templates
script/card_templates.py - Application logging
script/logger.py - Update checker
script/updates.py
Other components
- Card operator
- Serial device
- API consumer
- Release service
Connections 21
- Card operator → Desktop GUI: operates
- Application entry → Desktop GUI: launches
- Desktop GUI → MSR605 interface: controls
- MSR605 interface → Serial device: communicates
- Desktop GUI → Card records: reads and writes
- Desktop GUI → Settings manager: loads and saves
- Desktop GUI → Language manager: selects language
- Language manager → Translations: loads strings
- API consumer → REST API: sends requests
- MSR605 interface → REST API: starts server
- REST API → API consumer: returns responses
- Desktop GUI → Advanced operations: opens operations
- Desktop GUI → Data visualization: displays data
- Desktop GUI → Track parser: decodes tracks
- Track parser → Track validation: validates fields
- Track parser → Card formats: interprets format
- Advanced operations → Card decryption: decrypts data
- Desktop GUI → Card templates: uses templates
- Desktop GUI → Application logging: records events
- Desktop GUI → Update checker: checks updates
- Update checker → Release service: queries releases