From 3c2c63e50385af0d7befeec94b0def7c167c64e7 Mon Sep 17 00:00:00 2001
From: anima
Date: Fri, 4 Jun 2021 00:06:58 +0200
Subject: [PATCH] create core function time_stop
---
timeTrack.py | 73 ++++++++++++++++++++++++++++++++++++++++++++++++----
1 file changed, 68 insertions(+), 5 deletions(-)
diff --git a/timeTrack.py b/timeTrack.py
index f37369e..c7db899 100644
--- a/timeTrack.py
+++ b/timeTrack.py
@@ -3,7 +3,7 @@
#
# timeTrack.py
# by 4nima
-# v.0.4.0
+# v.0.5.0
#
#########################
# simple time tracking with database
@@ -351,15 +351,15 @@ class TimeTrack:
userinput = ''
while True:
- if userinput == "A" or userinput == "a" or userinput == "1" \
- or userinput == "F" or userinput == "f" or userinput == "2" \
- or userinput == "L" or userinput == "l" or userinput == "3":
+ if userinput == "F" or userinput == "f" or userinput == "1" \
+ or userinput == "L" or userinput == "l" or userinput == "2" \
+ or userinput == "A" or userinput == "a" or userinput == "3":
break
print('Soll das Event fortgesetzt oder gelöscht werden?')
print('[1/F/f] für fortsetzen')
print('[2/L/l] für löschen')
print('[3/A/a] für abbrechen')
- userinput = input('Antwort: ')
+ userinput = input('Aktion: ')
logging.debug('User input: {}'.format(userinput))
self.clear_screen()
@@ -380,6 +380,69 @@ class TimeTrack:
self.time_stop()
def time_stop(self):
+ data = self.get_event(USERID=self.USERID)
+ logging.debug('Event stop progess is started')
+ if data:
+ self.clear_screen()
+ userinput = ''
+ while True:
+ if userinput == "B" or userinput == "b" or userinput == "1" \
+ 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")))
+ print('[1/B/b] für beenden')
+ print('[2/L/l] für löschen')
+ print('[3/A/a] für abbrechen')
+ userinput = input('Aktion: ')
+ logging.debug('User input: {}'.format(userinput))
+ self.clear_screen()
+
+ if userinput == "B" or userinput == "b" or userinput == "1":
+ logging.debug('Event is ended')
+ print('Eingabe beenden mittels doppelter Leerzeile.')
+ print('Durchgeführte Tätigkeiten:')
+ userinput = []
+ while True:
+ try:
+ if userinput[-1] == '' and userinput[-2] == '':
+ break
+ except IndexError:
+ pass
+ userinput.append(input())
+
+ del userinput[-1]
+ del userinput[-1]
+ action = ''
+ for i in userinput:
+ action += i + "\n"
+
+ endtime = datetime.datetime.now()
+ connect = sqlite3.connect(self.DATABASE)
+ cursor = connect.cursor()
+ sql = "INSERT INTO time_entries ( starttime, endtime, user_id, activity ) VALUES ( ?, ?, ?, ? )"
+
+ try:
+ cursor.execute(sql, [data[1], endtime, self.USERID, action])
+ except:
+ logging.error('Time entry could not be created')
+ logging.debug(sql)
+ print('Zeiteintrag konnte nicht gespeichert werden.')
+ return False
+ else:
+ logging.info('Time entry was created successfully')
+ connect.commit()
+ self.delete_event(data[0])
+
+ connect.close()
+
+ elif userinput == "L" or userinput == "l" or userinput == "2":
+ logging.info('Event should be deleted (eventid: {})'.format(data[0]))
+ self.delete_event(data[0])
+ else:
+ logging.debug('Terminated by the user')
+ exit()
+
pass
def get_time(self):