From eb0e89c387a38c75d04c78dc4a1daebbef255545 Mon Sep 17 00:00:00 2001 From: Maximilian Zettler Date: Wed, 22 Jun 2022 09:52:27 +0200 Subject: [PATCH] add presence information in timebot and gui --- timebot/gui.py | 6 +++++- timebot/timebot.py | 4 ++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/timebot/gui.py b/timebot/gui.py index 99775d6..c63a388 100644 --- a/timebot/gui.py +++ b/timebot/gui.py @@ -63,6 +63,8 @@ class TimebotMainWindow(QWidget): self.timebot = timebot self.timebot.mobatime_api.ask_for_password = False + self.present = None + self.setWindowTitle("Timebot") self.setWindowIcon(QtGui.QIcon.fromTheme('face-devilish')) self.resize(300, 270) @@ -163,7 +165,8 @@ class TimebotMainWindow(QWidget): def update_hours_present(self, override: datetime.timedelta = None): if override is not None: self.hours_present: datetime.timedelta = override - elif self.hours_present > datetime.timedelta(seconds=self.main_window_timer_time / 100): + elif self.hours_present > datetime.timedelta(seconds=self.main_window_timer_time / 100)\ + and self.present is True: self.hours_present = self.hours_present + datetime.timedelta(seconds=1) hp = self.hours_present - datetime.timedelta(microseconds=self.hours_present.microseconds) self.text_box_hours_present_area.text_box_hours_present.setText(str(hp)) @@ -181,6 +184,7 @@ class TimebotApiWorker(QObject): def run(self): try: + self.tmw.present = self.timebot.present self.tmw.update_hours_present(override=self.timebot.get_hours_present()) self.tmw.text_box_status.setText(self.timebot.status()) except TimebotObtainPasswordError: diff --git a/timebot/timebot.py b/timebot/timebot.py index 337f404..e16cc0f 100644 --- a/timebot/timebot.py +++ b/timebot/timebot.py @@ -275,6 +275,10 @@ class TimeBot: self.logger = logging.getLogger(self.__class__.__name__) self.mobatime_api = mobatime_api + @property + def present(self): + return self.mobatime_api.get_tracking_data()["actualState"] in ("Anwesend", ) + def punch_in(self, punch_datetime: datetime.datetime): """ :param datetime.datetime punch_datetime: datetime object