add presence information in timebot and gui

master
Maximilian Zettler 3 years ago
parent 885ca38932
commit eb0e89c387
  1. 6
      timebot/gui.py
  2. 4
      timebot/timebot.py

@ -63,6 +63,8 @@ class TimebotMainWindow(QWidget):
self.timebot = timebot self.timebot = timebot
self.timebot.mobatime_api.ask_for_password = False self.timebot.mobatime_api.ask_for_password = False
self.present = None
self.setWindowTitle("Timebot") self.setWindowTitle("Timebot")
self.setWindowIcon(QtGui.QIcon.fromTheme('face-devilish')) self.setWindowIcon(QtGui.QIcon.fromTheme('face-devilish'))
self.resize(300, 270) self.resize(300, 270)
@ -163,7 +165,8 @@ class TimebotMainWindow(QWidget):
def update_hours_present(self, override: datetime.timedelta = None): def update_hours_present(self, override: datetime.timedelta = None):
if override is not None: if override is not None:
self.hours_present: datetime.timedelta = override 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) self.hours_present = self.hours_present + datetime.timedelta(seconds=1)
hp = self.hours_present - datetime.timedelta(microseconds=self.hours_present.microseconds) hp = self.hours_present - datetime.timedelta(microseconds=self.hours_present.microseconds)
self.text_box_hours_present_area.text_box_hours_present.setText(str(hp)) self.text_box_hours_present_area.text_box_hours_present.setText(str(hp))
@ -181,6 +184,7 @@ class TimebotApiWorker(QObject):
def run(self): def run(self):
try: try:
self.tmw.present = self.timebot.present
self.tmw.update_hours_present(override=self.timebot.get_hours_present()) self.tmw.update_hours_present(override=self.timebot.get_hours_present())
self.tmw.text_box_status.setText(self.timebot.status()) self.tmw.text_box_status.setText(self.timebot.status())
except TimebotObtainPasswordError: except TimebotObtainPasswordError:

@ -275,6 +275,10 @@ class TimeBot:
self.logger = logging.getLogger(self.__class__.__name__) self.logger = logging.getLogger(self.__class__.__name__)
self.mobatime_api = mobatime_api 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): def punch_in(self, punch_datetime: datetime.datetime):
""" """
:param datetime.datetime punch_datetime: datetime object :param datetime.datetime punch_datetime: datetime object

Loading…
Cancel
Save