Projekt

Obecné

Profil

Stáhnout (871 Bajtů) Statistiky
| Větev: | Tag: | Revize:
1
import platform
2
import logging
3
import getpass
4
from datetime import datetime
5

    
6
from .api_client import send_data
7

    
8

    
9
def _get_metadata() -> dict:
10
    logging.debug("getting computer metadata")
11
    return {
12
        "username": getpass.getuser(),
13
        "hostname": platform.uname().node,
14
        "timestamp": str(datetime.now()).split('.')[0]
15
    }
16

    
17

    
18
def _send_payload_to_server(device: dict, status: str):
19
    logging.debug("payload send preparation")
20
    payload = _get_metadata()
21
    payload["device"] = device
22
    payload["status"] = status
23
    send_data(payload)
24

    
25

    
26
def usb_connected_callback(device: dict):
27
    logging.info(f"Device {device} has been connected")
28
    _send_payload_to_server(device, "connected")
29

    
30

    
31
def usb_disconnected_callback(device: dict):
32
    logging.info(f"Device {device} has been disconnected")
33
    _send_payload_to_server(device, "disconnected")
(4-4/5)