re #9421 Added unit tests for client_set_config(), cache_failed_payload(), and read_connected_devices()
re #9421 Added unit tests for update() - usb detector and usb_detector_set_config()
re #9421 Added unit tests for notify_listeners() and register_listener()
re #9421 Added unit tests for get_metadata() and send_payload_to_server()
re #9421 Added unit tests for get_connected_devices() and get_disconnected_devices()
re #9420 Created folders src and tests
re #9420 Created folders src and resources; renamed config.ini to client.conf
re #9419 Added an argument parser (path to the config file)
re #9419 Moved the config manager into a class (better modularity)
re #9419 Edited logger.conf - changed the max file size to 10MB and changed the filename; removed unnecessary stuff from config.ini
re #9419 Made sure that the error message gets printed out only one per device
re #9418 Added a try-except block when making sure that there is only one instance of the app running
re #9418 Reduced disk access by storing list of connected devices only when necessary
re #9360 Added logging system -> log config, logging messages
re #9359 Implemented storing/retrieving payloads into/from a diskcache
re #9359 Formatted imports
re #9359 Added diskcache dependency, prepared a new thread for periodical data retrieval from the cache
re #9305 Fixed formatting in api_client.py
Merge branch 'keyman-info' into 'client-demo-01'
Keyman info added
See merge request aswi/aswi-2022/aswi2022bug-thugs!3
re #9305 Moved .gitignore into the parent directory
re #9332 Fixed serial number being None
re #9332 Collected serial number from keyman USB
re #9305 Implemented a simple API client, added requirements.txt
re #9305 Added a python module for USB detection
re #9305 Added config_manager.py, setup config.ini
re #9305 Added .gitignore
re #9304 Initial project structure setup