hockey-blast-common-lib 0.1.39__py3-none-any.whl → 0.1.40__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -88,18 +88,24 @@ def aggregate_goalie_stats(session, aggregation_type, aggregation_id, names_to_f
88
88
  if stat.human_id in human_ids_to_filter:
89
89
  continue
90
90
  key = (aggregation_id, stat.human_id)
91
- if stat.games_played < min_games:
92
- continue
93
- stats_dict[key] = {
94
- 'games_played': stat.games_played,
95
- 'goals_allowed': stat.goals_allowed if stat.goals_allowed is not None else 0,
96
- 'shots_faced': stat.shots_faced if stat.shots_faced is not None else 0,
97
- 'goals_allowed_per_game': 0.0,
98
- 'save_percentage': 0.0,
99
- 'game_ids': stat.game_ids,
100
- 'first_game_id': None,
101
- 'last_game_id': None
102
- }
91
+ if key not in stats_dict:
92
+ stats_dict[key] = {
93
+ 'games_played': 0,
94
+ 'goals_allowed': 0,
95
+ 'shots_faced': 0,
96
+ 'goals_allowed_per_game': 0.0,
97
+ 'save_percentage': 0.0,
98
+ 'game_ids': [],
99
+ 'first_game_id': None,
100
+ 'last_game_id': None
101
+ }
102
+ stats_dict[key]['games_played'] += stat.games_played
103
+ stats_dict[key]['goals_allowed'] += stat.goals_allowed if stat.goals_allowed is not None else 0
104
+ stats_dict[key]['shots_faced'] += stat.shots_faced if stat.shots_faced is not None else 0
105
+ stats_dict[key]['game_ids'].extend(stat.game_ids)
106
+
107
+ # Filter out entries with games_played less than min_games
108
+ stats_dict = {key: value for key, value in stats_dict.items() if value['games_played'] >= min_games}
103
109
 
104
110
  # Calculate per game stats
105
111
  for key, stat in stats_dict.items():
@@ -113,25 +113,29 @@ def aggregate_human_stats(session, aggregation_type, aggregation_id, names_to_fi
113
113
  if stat.human_id in human_ids_to_filter:
114
114
  continue
115
115
  key = (aggregation_id, stat.human_id)
116
- stats_dict[key] = {
117
- 'games_total': stat.games_skater,
118
- 'games_skater': stat.games_skater,
119
- 'games_goalie': 0,
120
- 'games_referee': 0,
121
- 'games_scorekeeper': 0,
122
- 'skater_game_ids': stat.skater_game_ids,
123
- 'goalie_game_ids': [],
124
- 'referee_game_ids': [],
125
- 'scorekeeper_game_ids': [],
126
- 'first_game_id_skater': None,
127
- 'last_game_id_skater': None,
128
- 'first_game_id_goalie': None,
129
- 'last_game_id_goalie': None,
130
- 'first_game_id_referee': None,
131
- 'last_game_id_referee': None,
132
- 'first_game_id_scorekeeper': None,
133
- 'last_game_id_scorekeeper': None
134
- }
116
+ if key not in stats_dict:
117
+ stats_dict[key] = {
118
+ 'games_total': 0,
119
+ 'games_skater': 0,
120
+ 'games_goalie': 0,
121
+ 'games_referee': 0,
122
+ 'games_scorekeeper': 0,
123
+ 'skater_game_ids': [],
124
+ 'goalie_game_ids': [],
125
+ 'referee_game_ids': [],
126
+ 'scorekeeper_game_ids': [],
127
+ 'first_game_id_skater': None,
128
+ 'last_game_id_skater': None,
129
+ 'first_game_id_goalie': None,
130
+ 'last_game_id_goalie': None,
131
+ 'first_game_id_referee': None,
132
+ 'last_game_id_referee': None,
133
+ 'first_game_id_scorekeeper': None,
134
+ 'last_game_id_scorekeeper': None
135
+ }
136
+ stats_dict[key]['games_total'] += stat.games_skater
137
+ stats_dict[key]['games_skater'] += stat.games_skater
138
+ stats_dict[key]['skater_game_ids'].extend(stat.skater_game_ids)
135
139
 
136
140
  for stat in goalie_stats:
137
141
  if stat.human_id in human_ids_to_filter:
@@ -139,13 +143,13 @@ def aggregate_human_stats(session, aggregation_type, aggregation_id, names_to_fi
139
143
  key = (aggregation_id, stat.human_id)
140
144
  if key not in stats_dict:
141
145
  stats_dict[key] = {
142
- 'games_total': stat.games_goalie,
146
+ 'games_total': 0,
143
147
  'games_skater': 0,
144
- 'games_goalie': stat.games_goalie,
148
+ 'games_goalie': 0,
145
149
  'games_referee': 0,
146
150
  'games_scorekeeper': 0,
147
151
  'skater_game_ids': [],
148
- 'goalie_game_ids': stat.goalie_game_ids,
152
+ 'goalie_game_ids': [],
149
153
  'referee_game_ids': [],
150
154
  'scorekeeper_game_ids': [],
151
155
  'first_game_id_skater': None,
@@ -157,10 +161,9 @@ def aggregate_human_stats(session, aggregation_type, aggregation_id, names_to_fi
157
161
  'first_game_id_scorekeeper': None,
158
162
  'last_game_id_scorekeeper': None
159
163
  }
160
- else:
161
- stats_dict[key]['games_goalie'] += stat.games_goalie
162
- stats_dict[key]['games_total'] += stat.games_goalie
163
- stats_dict[key]['goalie_game_ids'] += stat.goalie_game_ids
164
+ stats_dict[key]['games_total'] += stat.games_goalie
165
+ stats_dict[key]['games_goalie'] += stat.games_goalie
166
+ stats_dict[key]['goalie_game_ids'].extend(stat.goalie_game_ids)
164
167
 
165
168
  for stat in referee_stats:
166
169
  if stat.human_id in human_ids_to_filter:
@@ -168,14 +171,14 @@ def aggregate_human_stats(session, aggregation_type, aggregation_id, names_to_fi
168
171
  key = (aggregation_id, stat.human_id)
169
172
  if key not in stats_dict:
170
173
  stats_dict[key] = {
171
- 'games_total': stat.games_referee,
174
+ 'games_total': 0,
172
175
  'games_skater': 0,
173
176
  'games_goalie': 0,
174
- 'games_referee': stat.games_referee,
177
+ 'games_referee': 0,
175
178
  'games_scorekeeper': 0,
176
179
  'skater_game_ids': [],
177
180
  'goalie_game_ids': [],
178
- 'referee_game_ids': stat.referee_game_ids,
181
+ 'referee_game_ids': [],
179
182
  'scorekeeper_game_ids': [],
180
183
  'first_game_id_skater': None,
181
184
  'last_game_id_skater': None,
@@ -186,10 +189,9 @@ def aggregate_human_stats(session, aggregation_type, aggregation_id, names_to_fi
186
189
  'first_game_id_scorekeeper': None,
187
190
  'last_game_id_scorekeeper': None
188
191
  }
189
- else:
190
- stats_dict[key]['games_referee'] += stat.games_referee
191
- stats_dict[key]['games_total'] += stat.games_referee
192
- stats_dict[key]['referee_game_ids'] += stat.referee_game_ids
192
+ stats_dict[key]['games_total'] += stat.games_referee
193
+ stats_dict[key]['games_referee'] += stat.games_referee
194
+ stats_dict[key]['referee_game_ids'].extend(stat.referee_game_ids)
193
195
 
194
196
  for stat in referee_stats_2:
195
197
  if stat.human_id in human_ids_to_filter:
@@ -197,14 +199,14 @@ def aggregate_human_stats(session, aggregation_type, aggregation_id, names_to_fi
197
199
  key = (aggregation_id, stat.human_id)
198
200
  if key not in stats_dict:
199
201
  stats_dict[key] = {
200
- 'games_total': stat.games_referee,
202
+ 'games_total': 0,
201
203
  'games_skater': 0,
202
204
  'games_goalie': 0,
203
- 'games_referee': stat.games_referee,
205
+ 'games_referee': 0,
204
206
  'games_scorekeeper': 0,
205
207
  'skater_game_ids': [],
206
208
  'goalie_game_ids': [],
207
- 'referee_game_ids': stat.referee_game_ids,
209
+ 'referee_game_ids': [],
208
210
  'scorekeeper_game_ids': [],
209
211
  'first_game_id_skater': None,
210
212
  'last_game_id_skater': None,
@@ -215,10 +217,9 @@ def aggregate_human_stats(session, aggregation_type, aggregation_id, names_to_fi
215
217
  'first_game_id_scorekeeper': None,
216
218
  'last_game_id_scorekeeper': None
217
219
  }
218
- else:
219
- stats_dict[key]['games_referee'] += stat.games_referee
220
- stats_dict[key]['games_total'] += stat.games_referee
221
- stats_dict[key]['referee_game_ids'] += stat.referee_game_ids
220
+ stats_dict[key]['games_total'] += stat.games_referee
221
+ stats_dict[key]['games_referee'] += stat.games_referee
222
+ stats_dict[key]['referee_game_ids'].extend(stat.referee_game_ids)
222
223
 
223
224
  for stat in scorekeeper_stats:
224
225
  if stat.human_id in human_ids_to_filter:
@@ -226,15 +227,15 @@ def aggregate_human_stats(session, aggregation_type, aggregation_id, names_to_fi
226
227
  key = (aggregation_id, stat.human_id)
227
228
  if key not in stats_dict:
228
229
  stats_dict[key] = {
229
- 'games_total': stat.games_scorekeeper,
230
+ 'games_total': 0,
230
231
  'games_skater': 0,
231
232
  'games_goalie': 0,
232
233
  'games_referee': 0,
233
- 'games_scorekeeper': stat.games_scorekeeper,
234
+ 'games_scorekeeper': 0,
234
235
  'skater_game_ids': [],
235
236
  'goalie_game_ids': [],
236
237
  'referee_game_ids': [],
237
- 'scorekeeper_game_ids': stat.scorekeeper_game_ids,
238
+ 'scorekeeper_game_ids': [],
238
239
  'first_game_id_skater': None,
239
240
  'last_game_id_skater': None,
240
241
  'first_game_id_goalie': None,
@@ -244,10 +245,9 @@ def aggregate_human_stats(session, aggregation_type, aggregation_id, names_to_fi
244
245
  'first_game_id_scorekeeper': None,
245
246
  'last_game_id_scorekeeper': None
246
247
  }
247
- else:
248
- stats_dict[key]['games_scorekeeper'] += stat.games_scorekeeper
249
- stats_dict[key]['games_total'] += stat.games_scorekeeper
250
- stats_dict[key]['scorekeeper_game_ids'] += stat.scorekeeper_game_ids
248
+ stats_dict[key]['games_total'] += stat.games_scorekeeper
249
+ stats_dict[key]['games_scorekeeper'] += stat.games_scorekeeper
250
+ stats_dict[key]['scorekeeper_game_ids'].extend(stat.scorekeeper_game_ids)
251
251
 
252
252
  # Ensure all keys have valid human_id values
253
253
  stats_dict = {key: value for key, value in stats_dict.items() if key[1] is not None}
@@ -94,16 +94,19 @@ def aggregate_referee_stats(session, aggregation_type, aggregation_id, names_to_
94
94
  if stat.human_id in human_ids_to_filter:
95
95
  continue
96
96
  key = (aggregation_id, stat.human_id)
97
- stats_dict[key] = {
98
- 'games_reffed': stat.games_reffed,
99
- 'penalties_given': 0,
100
- 'gm_given': 0,
101
- 'penalties_per_game': 0.0,
102
- 'gm_per_game': 0.0,
103
- 'game_ids': stat.game_ids,
104
- 'first_game_id': None,
105
- 'last_game_id': None
106
- }
97
+ if key not in stats_dict:
98
+ stats_dict[key] = {
99
+ 'games_reffed': 0,
100
+ 'penalties_given': 0,
101
+ 'gm_given': 0,
102
+ 'penalties_per_game': 0.0,
103
+ 'gm_per_game': 0.0,
104
+ 'game_ids': [],
105
+ 'first_game_id': None,
106
+ 'last_game_id': None
107
+ }
108
+ stats_dict[key]['games_reffed'] += stat.games_reffed
109
+ stats_dict[key]['game_ids'].extend(stat.game_ids)
107
110
 
108
111
  for stat in games_reffed_stats_2:
109
112
  if stat.human_id in human_ids_to_filter:
@@ -111,18 +114,20 @@ def aggregate_referee_stats(session, aggregation_type, aggregation_id, names_to_
111
114
  key = (aggregation_id, stat.human_id)
112
115
  if key not in stats_dict:
113
116
  stats_dict[key] = {
114
- 'games_reffed': stat.games_reffed,
117
+ 'games_reffed': 0,
115
118
  'penalties_given': 0,
116
119
  'gm_given': 0,
117
120
  'penalties_per_game': 0.0,
118
121
  'gm_per_game': 0.0,
119
- 'game_ids': stat.game_ids,
122
+ 'game_ids': [],
120
123
  'first_game_id': None,
121
124
  'last_game_id': None
122
125
  }
123
- else:
124
- stats_dict[key]['games_reffed'] += stat.games_reffed
125
- stats_dict[key]['game_ids'].extend(stat.game_ids)
126
+ stats_dict[key]['games_reffed'] += stat.games_reffed
127
+ stats_dict[key]['game_ids'].extend(stat.game_ids)
128
+
129
+ # Filter out entries with games_reffed less than min_games
130
+ stats_dict = {key: value for key, value in stats_dict.items() if value['games_reffed'] >= min_games}
126
131
 
127
132
  for stat in penalties_given_stats:
128
133
  if stat.referee_1_id and stat.referee_1_id not in human_ids_to_filter:
@@ -148,9 +153,6 @@ def aggregate_referee_stats(session, aggregation_type, aggregation_id, names_to_
148
153
  # Ensure all keys have valid human_id values
149
154
  stats_dict = {key: value for key, value in stats_dict.items() if key[1] is not None}
150
155
 
151
- # Filter out referees with less than min_games
152
- stats_dict = {key: value for key, value in stats_dict.items() if value['games_reffed'] >= min_games}
153
-
154
156
  # Populate first_game_id and last_game_id
155
157
  for key, stat in stats_dict.items():
156
158
  all_game_ids = stat['game_ids']
@@ -84,42 +84,38 @@ def aggregate_skater_stats(session, aggregation_type, aggregation_id, names_to_f
84
84
 
85
85
  # Aggregate games played for each human in each division, excluding goalies
86
86
  games_played_stats = session.query(
87
- Game.org_id,
88
87
  GameRoster.human_id,
89
88
  func.count(Game.id).label('games_played'),
90
89
  func.array_agg(Game.id).label('game_ids')
91
- ).join(GameRoster, Game.id == GameRoster.game_id).join(Division, Game.division_id == Division.id).filter(filter_condition, ~GameRoster.role.ilike('g'), *human_filter).group_by(Game.org_id, GameRoster.human_id).all()
90
+ ).join(Game, Game.id == GameRoster.game_id).join(Division, Game.division_id == Division.id).filter(filter_condition, ~GameRoster.role.ilike('g'), *human_filter).group_by(GameRoster.human_id).all()
92
91
 
93
92
  # Aggregate goals for each human in each division, excluding goalies
94
93
  goals_stats = session.query(
95
- Game.org_id,
96
94
  Goal.goal_scorer_id.label('human_id'),
97
95
  func.count(Goal.id).label('goals'),
98
96
  func.array_agg(Goal.game_id).label('goal_game_ids')
99
- ).join(Game, Game.id == Goal.game_id).join(GameRoster, and_(Game.id == GameRoster.game_id, Goal.goal_scorer_id == GameRoster.human_id)).join(Division, Game.division_id == Division.id).filter(filter_condition, ~GameRoster.role.ilike('g'), *human_filter).group_by(Game.org_id, Goal.goal_scorer_id).all()
97
+ ).join(Game, Game.id == Goal.game_id).join(GameRoster, and_(Game.id == GameRoster.game_id, Goal.goal_scorer_id == GameRoster.human_id)).join(Division, Game.division_id == Division.id).filter(filter_condition, ~GameRoster.role.ilike('g'), *human_filter).group_by(Goal.goal_scorer_id).all()
100
98
 
101
99
  # Aggregate assists for each human in each division, excluding goalies
102
100
  assists_stats = session.query(
103
- Game.org_id,
104
101
  Goal.assist_1_id.label('human_id'),
105
102
  func.count(Goal.id).label('assists'),
106
103
  func.array_agg(Goal.game_id).label('assist_game_ids')
107
- ).join(Game, Game.id == Goal.game_id).join(GameRoster, and_(Game.id == GameRoster.game_id, Goal.assist_1_id == GameRoster.human_id)).join(Division, Game.division_id == Division.id).filter(filter_condition, ~GameRoster.role.ilike('g'), *human_filter).group_by(Game.org_id, Goal.assist_1_id).all()
104
+ ).join(Game, Game.id == Goal.game_id).join(GameRoster, and_(Game.id == GameRoster.game_id, Goal.assist_1_id == GameRoster.human_id)).join(Division, Game.division_id == Division.id).filter(filter_condition, ~GameRoster.role.ilike('g'), *human_filter).group_by(Goal.assist_1_id).all()
108
105
 
109
106
  assists_stats_2 = session.query(
110
- Game.org_id,
111
107
  Goal.assist_2_id.label('human_id'),
112
108
  func.count(Goal.id).label('assists'),
113
109
  func.array_agg(Goal.game_id).label('assist_2_game_ids')
114
- ).join(Game, Game.id == Goal.game_id).join(GameRoster, and_(Game.id == GameRoster.game_id, Goal.assist_2_id == GameRoster.human_id)).join(Division, Game.division_id == Division.id).filter(filter_condition, ~GameRoster.role.ilike('g'), *human_filter).group_by(Game.org_id, Goal.assist_2_id).all()
110
+ ).join(Game, Game.id == Goal.game_id).join(GameRoster, and_(Game.id == GameRoster.game_id, Goal.assist_2_id == GameRoster.human_id)).join(Division, Game.division_id == Division.id).filter(filter_condition, ~GameRoster.role.ilike('g'), *human_filter).group_by(Goal.assist_2_id).all()
115
111
 
116
112
  # Aggregate penalties for each human in each division, excluding goalies
117
113
  penalties_stats = session.query(
118
- Game.org_id,
119
114
  Penalty.penalized_player_id.label('human_id'),
120
115
  func.count(Penalty.id).label('penalties'),
116
+ func.sum(case((Penalty.penalty_minutes == 'GM', 1), else_=0)).label('gm_penalties'), # New aggregation for GM penalties
121
117
  func.array_agg(Penalty.game_id).label('penalty_game_ids')
122
- ).join(Game, Game.id == Penalty.game_id).join(GameRoster, and_(Game.id == GameRoster.game_id, Penalty.penalized_player_id == GameRoster.human_id)).join(Division, Game.division_id == Division.id).filter(filter_condition, ~GameRoster.role.ilike('g'), *human_filter).group_by(Game.org_id, Penalty.penalized_player_id).all()
118
+ ).join(Game, Game.id == Penalty.game_id).join(GameRoster, and_(Game.id == GameRoster.game_id, Penalty.penalized_player_id == GameRoster.human_id)).join(Division, Game.division_id == Division.id).filter(filter_condition, ~GameRoster.role.ilike('g'), *human_filter).group_by(Penalty.penalized_player_id).all()
123
119
 
124
120
  # Combine the results
125
121
  stats_dict = {}
@@ -127,22 +123,27 @@ def aggregate_skater_stats(session, aggregation_type, aggregation_id, names_to_f
127
123
  if stat.human_id in human_ids_to_filter:
128
124
  continue
129
125
  key = (aggregation_id, stat.human_id)
130
- if stat.games_played < min_games:
131
- continue
132
- stats_dict[key] = {
133
- 'games_played': stat.games_played,
134
- 'goals': 0,
135
- 'assists': 0,
136
- 'penalties': 0,
137
- 'points': 0, # Initialize points
138
- 'goals_per_game': 0.0,
139
- 'points_per_game': 0.0,
140
- 'assists_per_game': 0.0,
141
- 'penalties_per_game': 0.0,
142
- 'game_ids': stat.game_ids,
143
- 'first_game_id': None,
144
- 'last_game_id': None
145
- }
126
+ if key not in stats_dict:
127
+ stats_dict[key] = {
128
+ 'games_played': 0,
129
+ 'goals': 0,
130
+ 'assists': 0,
131
+ 'penalties': 0,
132
+ 'gm_penalties': 0, # Initialize GM penalties
133
+ 'points': 0, # Initialize points
134
+ 'goals_per_game': 0.0,
135
+ 'points_per_game': 0.0,
136
+ 'assists_per_game': 0.0,
137
+ 'penalties_per_game': 0.0,
138
+ 'game_ids': [],
139
+ 'first_game_id': None,
140
+ 'last_game_id': None
141
+ }
142
+ stats_dict[key]['games_played'] += stat.games_played
143
+ stats_dict[key]['game_ids'].extend(stat.game_ids)
144
+
145
+ # Filter out entries with games_played less than min_games
146
+ stats_dict = {key: value for key, value in stats_dict.items() if value['games_played'] >= min_games}
146
147
 
147
148
  for stat in goals_stats:
148
149
  key = (aggregation_id, stat.human_id)
@@ -166,6 +167,7 @@ def aggregate_skater_stats(session, aggregation_type, aggregation_id, names_to_f
166
167
  key = (aggregation_id, stat.human_id)
167
168
  if key in stats_dict:
168
169
  stats_dict[key]['penalties'] += stat.penalties
170
+ stats_dict[key]['gm_penalties'] += stat.gm_penalties # Update GM penalties
169
171
 
170
172
  # Calculate per game stats
171
173
  for key, stat in stats_dict.items():
@@ -201,6 +203,7 @@ def aggregate_skater_stats(session, aggregation_type, aggregation_id, names_to_f
201
203
  assign_ranks(stats_dict, 'assists')
202
204
  assign_ranks(stats_dict, 'points')
203
205
  assign_ranks(stats_dict, 'penalties')
206
+ assign_ranks(stats_dict, 'gm_penalties') # Assign ranks for GM penalties
204
207
  assign_ranks(stats_dict, 'goals_per_game')
205
208
  assign_ranks(stats_dict, 'points_per_game')
206
209
  assign_ranks(stats_dict, 'assists_per_game')
@@ -234,6 +237,7 @@ def aggregate_skater_stats(session, aggregation_type, aggregation_id, names_to_f
234
237
  assists=stat['assists'],
235
238
  points=stat['goals'] + stat['assists'],
236
239
  penalties=stat['penalties'],
240
+ gm_penalties=stat['gm_penalties'], # Include GM penalties
237
241
  goals_per_game=goals_per_game,
238
242
  points_per_game=points_per_game,
239
243
  assists_per_game=assists_per_game,
@@ -243,6 +247,7 @@ def aggregate_skater_stats(session, aggregation_type, aggregation_id, names_to_f
243
247
  assists_rank=stat['assists_rank'],
244
248
  points_rank=stat['points_rank'],
245
249
  penalties_rank=stat['penalties_rank'],
250
+ gm_penalties_rank=stat['gm_penalties_rank'], # Include GM penalties rank
246
251
  goals_per_game_rank=stat['goals_per_game_rank'],
247
252
  points_per_game_rank=stat['points_per_game_rank'],
248
253
  assists_per_game_rank=stat['assists_per_game_rank'],
@@ -62,6 +62,8 @@ class BaseStatsSkater(db.Model):
62
62
  points_rank = db.Column(db.Integer, default=0)
63
63
  penalties = db.Column(db.Integer, default=0)
64
64
  penalties_rank = db.Column(db.Integer, default=0)
65
+ gm_penalties = db.Column(db.Integer, default=0) # New field for GM penalties
66
+ gm_penalties_rank = db.Column(db.Integer, default=0) # New field for GM penalties rank
65
67
  goals_per_game = db.Column(db.Float, default=0.0)
66
68
  goals_per_game_rank = db.Column(db.Integer, default=0)
67
69
  points_per_game = db.Column(db.Float, default=0.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hockey-blast-common-lib
3
- Version: 0.1.39
3
+ Version: 0.1.40
4
4
  Summary: Common library for shared functionality and DB models
5
5
  Author: Pavel Kletskov
6
6
  Author-email: kletskov@gmail.com
@@ -1,23 +1,23 @@
1
1
  hockey_blast_common_lib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  hockey_blast_common_lib/aggregate_all_stats.py,sha256=MUjT23mdOMfCTx-kRSY-LGrLHZ9HNlR6OMqv5KLdzR4,1056
3
- hockey_blast_common_lib/aggregate_goalie_stats.py,sha256=KUYNDqo1xNWD_6kXZ6qP_m4FOK0qIO2pcS7OGfy1wFI,11816
4
- hockey_blast_common_lib/aggregate_human_stats.py,sha256=zq5GSH_C4lvPDqsW39pAsQFIBaoy66ZV9sGM05Tj9a4,23972
5
- hockey_blast_common_lib/aggregate_referee_stats.py,sha256=7eDpBrhCI1_PPVZIcdiv8viy_0E4f5t1qva0IVeWHNo,11791
6
- hockey_blast_common_lib/aggregate_skater_stats.py,sha256=90ItMi3lVFl5DLqe9Bpb_Yj9OlALwdVVD65PFlWBhC4,15921
3
+ hockey_blast_common_lib/aggregate_goalie_stats.py,sha256=FcYL40NP0-sPY7UI7F8Ny_RaPKz3mfkmhQnPVbeRtOc,12178
4
+ hockey_blast_common_lib/aggregate_human_stats.py,sha256=6cDoiJ0xZ3aQ4wjEAP_Jgu2aNEicnuU-a22BncSFtRo,23920
5
+ hockey_blast_common_lib/aggregate_referee_stats.py,sha256=FszWLTygddDQNcUgbmevQ-eGPrW8Y0nXpRvUluPRKnU,11920
6
+ hockey_blast_common_lib/aggregate_skater_stats.py,sha256=JK_JnmsNHecpMOng3pV_cf03tjIsUS-uGt0G9MPCrbM,16547
7
7
  hockey_blast_common_lib/assign_skater_skill.py,sha256=p-0fbodGpM8BCjKHDpxNb7BH2FcIlBsJwON844KNrUY,1817
8
8
  hockey_blast_common_lib/db_connection.py,sha256=HvPxDvOj7j5H85RfslGvHVNevfg7mKCd0syJ6NX21mU,1890
9
9
  hockey_blast_common_lib/dump_sample_db.sh,sha256=MHPA-Ciod7wsvAlMbRtXFiyajgnEqU1xR59sJQ9UWR0,738
10
- hockey_blast_common_lib/hockey_blast_sample_backup.sql.gz,sha256=mmqIkWPdn9thieHxCn61c5nEHR1xXbZotqtTdKhH18k,1033693
10
+ hockey_blast_common_lib/hockey_blast_sample_backup.sql.gz,sha256=uU1QOjEWNMji7TP5YhILFKZptRoR-1HcjBBw7mX4kI4,51
11
11
  hockey_blast_common_lib/models.py,sha256=xne38KwdBDcWvzdLyU6toozqkuatB9wiQhyiQ4xvAgU,16413
12
12
  hockey_blast_common_lib/options.py,sha256=6na8fo-5A2RBPpd_h-7dsqetOLSLoNEJg1QMYgl4jNs,792
13
13
  hockey_blast_common_lib/restore_sample_db.sh,sha256=u2zKazC6vNMULkpYzI64nlneCWaGUtDHPBAU-gWgRbw,1861
14
14
  hockey_blast_common_lib/skills_in_divisions.py,sha256=m-UEwMwn1KM7wOYvDstgsOEeH57M9V6yrkBoghzGYKE,7005
15
15
  hockey_blast_common_lib/skills_propagation.py,sha256=x6yy7fJ6IX3YiHqiP_v7-p_S2Expb8JJ-mWuajEFBdY,16388
16
- hockey_blast_common_lib/stats_models.py,sha256=qvkt-XRFb4ZW7yBj7vltedzUS_YwWagm_efMRcsioSA,25120
16
+ hockey_blast_common_lib/stats_models.py,sha256=__BtG0LtSZ2yWHU_fCh7-RVyjO0EhDNMctOW2cAzjnk,25294
17
17
  hockey_blast_common_lib/stats_utils.py,sha256=DXsPO4jw8XsdRUN46TGF_IiBAfz3GCIVBswCGp5ELDk,284
18
18
  hockey_blast_common_lib/utils.py,sha256=Sy5Pk40Tk3gsMrhMsUMlBD7i7jiVZmWLUBc94qI3zOA,5235
19
19
  hockey_blast_common_lib/wsgi.py,sha256=7LGUzioigviJp-EUhSEaQcd4jBae0mxbkyBscQfZhlc,730
20
- hockey_blast_common_lib-0.1.39.dist-info/METADATA,sha256=g0MH0Q7NrDz_XQnVNXVrELIB8mZJmL3pn_YwKTyZKk4,318
21
- hockey_blast_common_lib-0.1.39.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
22
- hockey_blast_common_lib-0.1.39.dist-info/top_level.txt,sha256=wIR4LIkE40npoA2QlOdfCYlgFeGbsHR8Z6r0h46Vtgc,24
23
- hockey_blast_common_lib-0.1.39.dist-info/RECORD,,
20
+ hockey_blast_common_lib-0.1.40.dist-info/METADATA,sha256=c1tQbNlrUW8MNh2f0Z7MVmwolW4HMgmGvH6v7YHicaI,318
21
+ hockey_blast_common_lib-0.1.40.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
22
+ hockey_blast_common_lib-0.1.40.dist-info/top_level.txt,sha256=wIR4LIkE40npoA2QlOdfCYlgFeGbsHR8Z6r0h46Vtgc,24
23
+ hockey_blast_common_lib-0.1.40.dist-info/RECORD,,