-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
59 lines (42 loc) · 1.89 KB
/
main.py
File metadata and controls
59 lines (42 loc) · 1.89 KB
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
from user_operations.user import Authorization
from user_operations.user import User
from user_operations.user import Session
from window_operations.menu import Menu
from database_operations.database import DatabaseOperator
class Main():
def __init__(self) -> None:
self.db_operator = DatabaseOperator()
self.transactions = self.db_operator.load_data("Transactions")
self.users = self.db_operator.load_data("Users")
self.wallets = self.db_operator.load_data("Wallets")
self.main_session = Session()
self.main_menu = Menu()
self.main_user = ""
self.main_auth = Authorization(self.users)
def main_loop(self) -> None:
is_true = True
while(is_true):
if self.main_session.is_logged_in():
self.main_menu.print_menu(self.main_session, self.db_operator)
else:
try:
prelogin_input = self.main_menu.print_prelogin_menu()
if prelogin_input == "1":
user_inputs = self.main_menu.login_menu()
if len(user_inputs[0]) > 1 or len(user_inputs[1]) < 1:
self.main_auth.login(
user_inputs[0], user_inputs[1], self.main_session, self.db_operator)
else:
self.main_loop()
elif prelogin_input == "2":
user_inputs = self.main_menu.register_menu()
self.main_auth.register(
user_inputs[0], user_inputs[1], user_inputs[2], user_inputs[3], self.main_session, self.db_operator
)
else:
is_true = False
except KeyboardInterrupt:
self.main_loop()
if __name__ == '__main__':
main = Main()
main.main_loop()