-
Notifications
You must be signed in to change notification settings - Fork 0
/
file_utils.py
110 lines (66 loc) · 2.13 KB
/
file_utils.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
import json
from download_inputs import download_recommender_inputs
from download_results import download_recommender_results
from download_tags import download_recommender_tags
from utils import get_input_file_name, get_result_file_name, get_tag_file_name
def load_json_from_disk(file_name):
with open(file_name) as f:
data = json.load(f)
return data
def load_inputs():
data = load_json_from_disk(get_input_file_name())
return data
def load_results():
data = load_json_from_disk(get_result_file_name())
return data
def load_tags():
data = load_json_from_disk(get_tag_file_name())
return data
def update_inputs():
data = download_recommender_inputs()
if data is not None:
print('Saving inputs to disk.')
with open(get_input_file_name(), 'w') as f:
json.dump(data, f)
return data
def update_results(ignored_app_ids=None):
data = download_recommender_results(ignored_app_ids=ignored_app_ids)
if data is not None:
print('Saving results to disk.')
with open(get_result_file_name(), 'w') as f:
json.dump(data, f)
return data
def update_tags():
data = download_recommender_tags()
if data is not None:
print('Saving tags to disk.')
with open(get_tag_file_name(), 'w') as f:
json.dump(data, f)
return data
def load_input_app_ids():
data = load_inputs()
input_app_ids = [d["a"] for d in data]
return input_app_ids
def load_app_info():
data = load_results()
app_info = data['app_info']
return app_info
def load_recommendations():
data = load_results()
recommendations = data['recommendations']
return recommendations
def main(update_json_data=True):
if update_json_data:
data = update_tags()
data = update_inputs()
data = update_results()
inputs = load_inputs()
results = load_results()
input_app_ids = load_input_app_ids()
app_info = load_app_info()
recommendations = load_recommendations()
tags = load_tags()
print(f'#tags = {len(tags)}')
return
if __name__ == '__main__':
main()