forked from JanBartoszek/Attendance-List
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlogic.py
69 lines (49 loc) · 1.42 KB
/
logic.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import sys
import os
import view
import database
def show_pylighters():
present_pylighters = database.select()
return present_pylighters
def add_pylighter():
database.insert(input('Insert new pylighter... '))
return show_pylighters()
def remove_pylighter():
database.delete(input('Remove desired pylighter(provide id)... '))
return show_pylighters()
def surprise_tool():
if database.check_if_attendance_table_exists().get("exists"):
database.drop_table()
database.create_table()
else:
database.create_table()
def quit_app():
database.disconnect()
sys.exit(0)
def wrong_input_handling():
return False
def handle_chosen_option(option):
menu_options = {
"a" : show_pylighters,
"b" : add_pylighter,
"c" : remove_pylighter,
"d" : surprise_tool,
"e" : quit_app
}
return menu_options.get(option, wrong_input_handling)()
def start():
view.print_welcome()
database.connect()
app_running = True
while app_running:
view.print_options()
chosen_option = input("Choose... ")
handled_chosen_option = handle_chosen_option(chosen_option)
os.system('clear')
if handled_chosen_option:
view.print_results(handled_chosen_option)
elif handled_chosen_option == []:
view.zero_attendance()
else:
view.print_wrong_input_alert()
start()