-
Notifications
You must be signed in to change notification settings - Fork 0
/
random_and_degree_removal.py
66 lines (57 loc) · 1.87 KB
/
random_and_degree_removal.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
import os
import json
import targeted_removal_endpoints.targeted_degree as targeted_degree
import targeted_removal_endpoints.targeted_random as targeted_random
# Command python or python3
command = "python3"
# User generation Script
script = "user_secnario_producer.py"
def filter_file_names():
"""
Function: filter_file_names\n
Parameter: None\n
Functionality: Run the sumilations and return a dict of file names\n
"""
os.system(f'bash fresh_analysis.sh')
os.system(f'{command} {script}')
os.system(f'{command} baseline.py')
os.system(f'{command} main.py')
file_names = {}
for file in os.listdir(os.path.join(os.getcwd(), 'graph_output_files')):
last_name = file.split('.')[0].split('_')[1]
if 'baseline' in last_name:
number = int(last_name[8:])
if number in file_names:
file_names[number].append(file)
else:
file_names[number] = [file]
else:
number = int(last_name[4:])
if number in file_names:
file_names[number].append(file)
else:
file_names[number] = [file]
return file_names
def init():
"""
Function: init\n
Parameter: None\n
Functionality: Targeted Random and degree removal\n
"""
file_names = filter_file_names()
lst_file_names = sorted(file_names[0])
targeted_degree.init(lst_file_names[0], lst_file_names[1])
# targeted_random.init(lst_file_names[0], lst_file_names[1])
if __name__ == "__main__":
dir_path = os.path.join(os.getcwd(), 'analysis_output_files')
try:
os.mkdir(dir_path)
except OSError as error:
pass
dir_path = os.path.join(os.getcwd(), 'node_failures_plots')
try:
os.mkdir(dir_path)
except OSError as error:
pass
print(f'Relax!! we have taken the charge. (-_-)')
init()