writing daemon overlay

Dorian Bourgeoisat 2024-05-22 20:29:44 +02:00
parent bb5fcfd5b6
commit a1188d8d6e
1 changed files with 49 additions and 2 deletions

View File

@ -2,6 +2,9 @@ import os
from dotenv import load_dotenv
import requests
import datetime
from threading import Thread, Lock
import time
import copy
load_dotenv()
@ -105,9 +108,46 @@ class DHL_tracking(Tracking):
loc=jev["location"]["address"]["addressLocality"]
self.events.append(Event(datetime.datetime.fromisoformat(jev["timestamp"]), jev["statusCode"],description=jev["description"], location=loc))
class TrackingManager:
def __init__(self):
self.trackers = []
self.trackers_lock = Lock()
self.daemon_task = Thread(target=self.tracking_task)
self.daemon_task.start()
return
def add_tracker(self, trckr):
self.trackers_lock.acquire()
self.trackers.append(trckr)
self.trackers_lock.release()
return
def track_all(self):
self.trackers_lock.acquire()
for trckr in self.trackers:
trckr.track()
self.trackers_lock.release()
return
def tracking_task(self):
while True:
self.track_all()
print("Tracking !")
time.sleep(10)
return
def get_trackers(self):
self.trackers_lock.acquire()
c = copy.deepcopy(self.trackers)
self.trackers_lock.release()
return c
tman = TrackingManager()
#print('[')
Ptrack = Poste_tracking("CC550445947DE")
Ptrack.track()
#print(Ptrack.get_last_event())
#print(',')
@ -117,7 +157,14 @@ Ptrack.track()
#print(',')
DHLtrack = DHL_tracking("CC550445947DE")
DHLtrack.track()
tman.add_tracker(Ptrack)
tman.add_tracker(DHLtrack)
time.sleep(20)
print(tman.get_trackers())
#print(DHLtrack.get_history())
#print(Ptrack.get_history())
#print(']')