-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathWalletRequests.py
125 lines (92 loc) · 3.48 KB
/
WalletRequests.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
import os
import inspect
def get_caller_script_path():
frame = inspect.stack()[-1]
module = inspect.getmodule(frame[0])
if module is None:
return None
caller_file = os.path.abspath(module.__file__)
return caller_file
def get_caller_script_directory():
frame = inspect.stack()[1]
module = inspect.getmodule(frame[0])
if module is None:
return None
caller_file = module.__file__
caller_directory = os.path.dirname(os.path.abspath(caller_file))
return caller_directory
def remove_key(name, ID):
directory = get_caller_script_path()
key = "NO KEY"
security_level = "NO SECURITY LEVEL"
password = "NO PASSWORD"
response = "Error: Unknow Error"
try:
file = open("/opt/wallet/requests/request.txt", "w")
content = f"remove\n{name}\n{key}\n{ID}\n{security_level}\n{directory}\n{password}\n"
file.write(content)
file.close()
print("Waiting for response")
path = os.path.dirname(directory)
response = path + "/respose.txt"
print(response)
while True:
try:
with open(response) as file:
file_content = file.read()
break
except:
print("Waiting for response...")
os.remove(response)
except:
print("Errore durante la ricezione della chiave")
if file_content == "Wrong Directory":
response = "Error: Program directory is different"
elif file_content == "no name":
response = "Error: key name not found"
elif file_content == "wrong password":
response = "Error: wrong password"
elif file_content == "access denied":
response = "Error: Request denied by user"
elif file_content == "Index missing":
response = "Error: File index missing. Did you alredy put a key in the wallet?"
elif file_content == "password cancelled":
response = "Error: Operation cancelled by user"
elif file_content == "wrong id":
response = "Error: Wrong ID"
else:
response = file_content
def put_key(name, key, ID, security_level, password):
directory = get_caller_script_path()
file = open("/opt/wallet/requests/request.txt", "w")
content = f"put\n{name}\n{key}\n{ID}\n{security_level}\n{directory}\n{password}\n"
file.write(content)
file.close()
print("Chiave inviata")
#print("Errore durante l'invio della chiave")
def get_key(name, ID):
directory = get_caller_script_path()
key = "NO KEY"
security_level = "NO SECURITY LEVEL"
password = "NO PASSWORD"
response = "Error: Unknow Error"
try:
file = open("/opt/wallet/requests/request.txt", "w")
content = f"get\n{name}\n{key}\n{ID}\n{security_level}\n{directory}\n{password}\n"
file.write(content)
file.close()
print("Waiting for key")
path = os.path.dirname(directory)
response = path + "/respose.txt"
print(response)
while True:
try:
with open(response) as file:
encrypted_key = file.read()
break
except:
print("Waiting for key...")
os.remove(response)
except:
print("Errore durante la ricezione della chiave")
return encrypted_key