Jon Solow commited on
Commit
5681b11
·
1 Parent(s): 4d036d6

Try loading map into global var at runtime since not expected to change avoiding possible cache issue

Browse files
Files changed (1) hide show
  1. src/stats.py +11 -8
src/stats.py CHANGED
@@ -229,15 +229,18 @@ YAHOO_TO_STAT_MAP: dict[str, dict[str, str]] = {
229
  }
230
 
231
 
232
- # cache id map for 24 hours
233
- @st.cache_data(ttl=60 * 60 * 24)
234
  def get_yahoo_id_map() -> dict[str, str]:
235
- teams_included = [x.id_map_short_name for x, _ in PLAYOFF_TEAM_DEF_PLAYER]
236
- df = pd.read_csv(r"https://raw.githubusercontent.com/dynastyprocess/data/master/files/db_playerids.csv")
237
- df = df[(df["yahoo_id"].notna() & df["gsis_id"].notna() & df["team"].isin(teams_included))]
238
- df["yahoo_id"] = df["yahoo_id"].astype(int).astype(str)
239
- return df.set_index("yahoo_id")["gsis_id"].to_dict()
 
 
 
 
240
 
 
241
 
242
  # happens to be the same
243
  YAHOO_WEEK_MAP = NFLVERSE_STAT_WEEK_TO_PLAYOFF_WEEK
@@ -270,7 +273,7 @@ def add_yahoo_stat_type_to_stat_map(
270
  player_id = short_team_names_to_player_id[player["player"]["team"]["abbreviation"]]
271
  else:
272
  raw_player_id = player["player"]["playerId"].split(".")[-1]
273
- player_id = get_yahoo_id_map().get(raw_player_id)
274
 
275
  if not player_id:
276
  continue
 
229
  }
230
 
231
 
 
 
232
  def get_yahoo_id_map() -> dict[str, str]:
233
+ try:
234
+ teams_included = [x.id_map_short_name for x, _ in PLAYOFF_TEAM_DEF_PLAYER]
235
+ df = pd.read_csv(r"https://raw.githubusercontent.com/dynastyprocess/data/master/files/db_playerids.csv")
236
+ df = df[(df["yahoo_id"].notna() & df["gsis_id"].notna() & df["team"].isin(teams_included))]
237
+ df["yahoo_id"] = df["yahoo_id"].astype(int).astype(str)
238
+ return df.set_index("yahoo_id")["gsis_id"].to_dict()
239
+ except Exception:
240
+ return {}
241
+
242
 
243
+ YAHOO_PLAYER_ID_MAP = get_yahoo_id_map()
244
 
245
  # happens to be the same
246
  YAHOO_WEEK_MAP = NFLVERSE_STAT_WEEK_TO_PLAYOFF_WEEK
 
273
  player_id = short_team_names_to_player_id[player["player"]["team"]["abbreviation"]]
274
  else:
275
  raw_player_id = player["player"]["playerId"].split(".")[-1]
276
+ player_id = YAHOO_PLAYER_ID_MAP.get(raw_player_id)
277
 
278
  if not player_id:
279
  continue