-
Notifications
You must be signed in to change notification settings - Fork 0
/
queries.py
129 lines (114 loc) · 3.72 KB
/
queries.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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
import sys
import json
from termcolor import colored
sys.path.insert(
1,
"/Users/ahmedkhaled/Desktop/Ahmed Khalid/MSA University/Computer Engineering/Third Year/First Semester/Concepts of Programming Languages/project/CybercafeManagementSystem",
)
def lookup_item(database, item):
with open(database, "r") as json_database:
dict_database = json.load(json_database)
for entry in dict_database:
for item_name in entry:
if item_name == item:
json_database.close()
return entry[item_name]
def lookup_all_database(database):
with open(database, "r") as json_database:
dict_database = json.load(json_database)
for entry in dict_database:
print(entry)
json_database.close()
def update_attribute(database, item, key, value):
count = -1
index = None
json_database = open(database, "r")
updated_dict_database = json.load(json_database)
for entry in updated_dict_database:
for item_name in entry:
count += 1
if item_name == item:
index = count
break
if index != None:
json_database.close()
break
if index != None:
updated_dict_database[index][item][key] = value
jsonFile = open(database, "w+")
jsonFile.write(json.dumps(updated_dict_database, indent=4))
jsonFile.close()
elif index == None:
print(
colored(
"\nERROR update_attribute(): the item '{}' does not exist in the '{}' database".format(
item, database
),
"red",
)
)
def save_item(database, item_attributes):
json_database = open(database, "r")
updated_dict_database = json.load(json_database)
item_name = item_attributes.get("user_name")
response = lookup_item(database, item_name)
if response == None:
item_entry = {item_name: item_attributes}
updated_dict_database.append(item_entry)
with open(database, "w") as f:
json.dump(updated_dict_database, f, indent=4)
print(
colored(
"\nitem '{}' has been successful saved into the '{}' database".format(
item_name, database
),
"green",
)
)
else:
print(
colored(
"\nERROR save_item(): the item {} already exists in the {} database".format(
item_name, database
),
"red",
)
)
def delete_item(database, item):
count = -1
index = None
json_database = open(database, "r")
updated_dict_database = json.load(json_database)
for entry in updated_dict_database:
for item_name in entry:
count += 1
if item_name == item:
index = count
break
if index != None:
json_database.close()
break
if index != None:
del updated_dict_database[index]
with open(database, "w") as f:
json.dump(updated_dict_database, f, indent=4)
if index == None:
print(
colored(
"\nERROR delete_item(): item '{}' does not exist in the '{}' database".format(
item, database
),
"red",
)
)
def suggest_user_name(user_name):
counter = 1
while True:
response = lookup_item("databases/users.json", user_name)
if response != None:
user_name = user_name + str(counter)
counter += 1
continue
elif response == None:
break
return user_name