-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathResultParser.py
More file actions
95 lines (67 loc) · 2.62 KB
/
ResultParser.py
File metadata and controls
95 lines (67 loc) · 2.62 KB
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
import re
def get_game_count(text: str):
segment = text.split("Game Count: ")[1]
result = segment[:segment.index('\n')]
return result
def get_invalid_game_count(text: str):
return text.count("$$$$")
def get_winrate(text: str):
last_segment = text.split("WinRate")[1]
last_segment = last_segment[1:last_segment.index("%")]
return last_segment
def get_expected_winrate(text: str):
last_segment = text.split("WinRate")[2]
last_segment = last_segment[1:last_segment.index("%")]
return last_segment
def get_goaldiff(text: str):
last_segment = text.split("diff: ")[-2]
last_segment = last_segment[:last_segment.index(")")]
return last_segment
def get_leftgoal(text: str):
segment = text.split('Avg Goals: ')[1]
segment = segment[:segment.index(" (")]
segment = segment.split(' : ')
return segment[0]
def get_rightgoal(text: str):
segment = text.split('Avg Goals: ')[1]
segment = segment[:segment.index(" (")]
segment = segment.split(' : ')
return segment[1]
def get_avg_point(text: str):
last_segment = text.split("diff: ")[-1]
last_segment = last_segment[:last_segment.index(")")]
return last_segment
def get_left_points(text: str):
segment = text.split('Avg Points: ')[1]
segment = segment[:segment.index(" (")]
segment = segment.split(' : ')
return segment[0]
def get_right_points(text: str):
segment = text.split('Avg Points: ')[1]
segment = segment[:segment.index(" (")]
segment = segment.split(' : ')
return segment[1]
def get_result_data(text: str):
return [get_game_count(text), get_invalid_game_count(text), get_goaldiff(text), get_leftgoal(text),
get_rightgoal(text), get_avg_point(text), get_left_points(text), get_right_points(text), get_winrate(text),
get_expected_winrate(text)]
def short_result_to_dict(input: list):
result = dict()
result['game_count'] = input[0]
result['invalid_game_count'] = input[1]
result['goal_diff'] = input[2]
result['left_goal'] = input[3]
result['right_goal'] = input[4]
result['avg_point'] = input[5]
result['left_point'] = input[6]
result['right_point'] = input[7]
result['win_rate'] = input[8]
result['expected_win_rate'] = input[9]
return result
def get_result_dict(text: str):
return short_result_to_dict(get_result_data(text))
if __name__ == '__main__':
all_of_it = ''
with open('./out/yushchain/results/RESULT_[\'1\']', 'r') as file:
all_of_it = file.read()
print(get_result_data(all_of_it))