Projekt

Obecné

Profil

Stáhnout (1.27 KB) Statistiky
| Větev: | Tag: | Revize:
1 bba28c53 silhavyj
import logging
2 0b96f10c Pultak
import logging.config
3
from os.path import exists
4 f7fb8759 silhavyj
from threading import Thread
5 bba28c53 silhavyj
from tendo import singleton
6
7 0b96f10c Pultak
from config_manager import logger_format, logger_level, logger_config
8 f7fb8759 silhavyj
from usb_detector.detector import register_listener, usb_detector_run
9
from usb_detector.event_listener import usb_connected_callback, usb_disconnected_callback
10 76b68bb9 silhavyj
from api_client import api_client_run
11 f7fb8759 silhavyj
12 0b96f10c Pultak
def init_logging():
13
    if exists(logger_config):
14
        logging.config.fileConfig(fname=logger_config)
15
    else:
16
        print(f"Cant find logger configuration \"{logger_config}\"! Please specify valid path or define new.")
17
        exit(1)
18
19 bba28c53 silhavyj
20
if __name__ == "__main__":
21
    app_instance = singleton.SingleInstance()
22 0b96f10c Pultak
    init_logging()
23 bba28c53 silhavyj
24 f7fb8759 silhavyj
    register_listener(callback=usb_connected_callback, connected=True)
25
    register_listener(callback=usb_disconnected_callback, connected=False)
26
27
    usb_detector_thread = Thread(target=usb_detector_run)
28
    usb_detector_thread.setDaemon(True)
29 76b68bb9 silhavyj
30
    api_thread = Thread(target=api_client_run)
31
    api_thread.setDaemon(True)
32
33 0b96f10c Pultak
    logging.info('starting USB detector.')
34 f7fb8759 silhavyj
    usb_detector_thread.start()
35 0b96f10c Pultak
36
    logging.info('starting API communication manager.')
37 76b68bb9 silhavyj
    api_thread.start()
38 bba28c53 silhavyj
39 f7fb8759 silhavyj
    usb_detector_thread.join()
40 76b68bb9 silhavyj
    api_thread.join()
41 0b96f10c Pultak
42
    logging.info('application exit.')