From 6a693ff5254a66603ded1aa8c8711029665dccab Mon Sep 17 00:00:00 2001 From: anima Date: Fri, 4 Jun 2021 09:13:09 +0200 Subject: [PATCH] finish time_stop function --- timeTrack.py | 59 ++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 46 insertions(+), 13 deletions(-) diff --git a/timeTrack.py b/timeTrack.py index c7db899..1bc8bbd 100644 --- a/timeTrack.py +++ b/timeTrack.py @@ -209,11 +209,8 @@ class TimeTrack: connect.commit() data = cursor.fetchall() - output = [] - for row in data: - output.append(row) connect.close() - return output + return data ### Defines a user for the session def set_user(self): @@ -258,7 +255,7 @@ class TimeTrack: ### Deletes an active event based on a user or event ID def delete_event(self, ENTRYID='', USERID=''): if not ENTRYID == '': - logging.info('Deletes event based on eventid: {}'.format(USERID)) + logging.info('Deletes event based on eventid: {}'.format(ENTRYID)) sql = "DELETE FROM active_events WHERE id = ?" data = ENTRYID elif not USERID == '': @@ -326,9 +323,11 @@ class TimeTrack: def time_start(self, AUTOFORWARD=True): self.clear_screen() starttime = datetime.datetime.now() - logging.info('New Event process started at {}'.format(starttime)) + logging.debug('New Event process started at {}'.format(starttime)) if self.save_event(starttime): print('Neues Event gestartet um {}'.format(starttime.strftime("%H:%M"))) + if AUTOFORWARD: + self.time_stop() else: data = self.get_event(USERID=self.USERID) print('Es existiert bereits ein aktives Event.') @@ -387,7 +386,7 @@ class TimeTrack: userinput = '' while True: if userinput == "B" or userinput == "b" or userinput == "1" \ - or userinput == "l" or userinput == "l" or userinput == "2" \ + or userinput == "L" or userinput == "l" or userinput == "2" \ or userinput == "A" or userinput == "a" or userinput == "3": break print('Event von {} Uhr beenden?'.format(data[1].strftime("%H:%M"))) @@ -411,13 +410,17 @@ class TimeTrack: pass userinput.append(input()) + logging.debug('User input: {}'.format(userinput)) del userinput[-1] del userinput[-1] action = '' for i in userinput: - action += i + "\n" + if not action == '': + action += "\n" + action += i endtime = datetime.datetime.now() + logging.debug('Event end process start at {}'.format(endtime)) connect = sqlite3.connect(self.DATABASE) cursor = connect.cursor() sql = "INSERT INTO time_entries ( starttime, endtime, user_id, activity ) VALUES ( ?, ?, ?, ? )" @@ -433,6 +436,25 @@ class TimeTrack: logging.info('Time entry was created successfully') connect.commit() self.delete_event(data[0]) + self.print_time_entry(STARTTIME=data[1], ENDTIME=endtime, ACTIVITY=action) + print('Zeiteintrag wurde gespeichert.') + while True: + if userinput == "J" or userinput == "j" or userinput == "1" \ + or userinput == "N" or userinput == "n" or userinput == "2": + break + print('Nächsten Zeiteintrag begrinnen ?') + print('[1/J/j] Ja') + print('[2/N/n] Nein') + userinput = input('Aktion: ') + logging.debug('User input: {}'.format(userinput)) + self.clear_screen() + + if userinput == "J" or userinput == "j" or userinput == "1": + self.time_start() + else: + logging.debug('Terminated by the user') + exit() + connect.close() @@ -443,14 +465,25 @@ class TimeTrack: logging.debug('Terminated by the user') exit() - pass - def get_time(self): pass + def print_time_entry(self, STARTTIME='', ENDTIME='', ACTIVITY=''): + s = (ENDTIME - STARTTIME).seconds + hours, remainder = divmod(s, 3600) + minutes, seconds = divmod(remainder, 60) + + print(50*"-") + print('Start: {} Uhr'.format(STARTTIME.strftime('%H:%M'))) + print('Ende: {} Uhr'.format(ENDTIME.strftime('%H:%M'))) + print('Dauer: {:02}:{:02}:{:02}'.format(int(hours), int(minutes), int(seconds))) + if not ACTIVITY == '': + print('Aktivität:') + print(ACTIVITY) + print(50*"-") + + + test = TimeTrack() -#test.delete_event(USERID=1) -#test.save_event() -#test.get_event() test.time_start() \ No newline at end of file