From a1188d8d6e75181386bb3b90658575e3c830155c Mon Sep 17 00:00:00 2001 From: Dorian Bourgeoisat Date: Wed, 22 May 2024 20:29:44 +0200 Subject: [PATCH] writing daemon overlay --- wtdaemon.py | 51 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 49 insertions(+), 2 deletions(-) diff --git a/wtdaemon.py b/wtdaemon.py index 41a3c87..4445349 100644 --- a/wtdaemon.py +++ b/wtdaemon.py @@ -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(']') \ No newline at end of file