cwendt94 / espn-api

ESPN Fantasy API! (Football, Basketball)
MIT License
544 stars 183 forks source link

Private League 2024 does not work #527

Closed DustinVelling closed 4 months ago

DustinVelling commented 4 months ago

Sport

Basketball

Summary

Hello, defining a private league for year 2024 does not work, but for 2023. 2022 etc it seams to work.

Logs/Data

KeyError Traceback (most recent call last)

in 1 # private league with cookies ----> 2 league = League(league_id=id, year=2024, espn_s2='s2', swid='swid') 3 4 5 ~/opt/anaconda3/lib/python3.8/site-packages/espn_api-0.34.1-py3.8.egg/espn_api/basketball/league.py in __init__(self, league_id, year, espn_s2, swid, fetch_league, debug) 18 19 if fetch_league: ---> 20 self.fetch_league() 21 22 def fetch_league(self): ~/opt/anaconda3/lib/python3.8/site-packages/espn_api-0.34.1-py3.8.egg/espn_api/basketball/league.py in fetch_league(self) 22 def fetch_league(self): 23 data = self._fetch_league() ---> 24 self._fetch_teams(data) 25 self._fetch_draft() 26 ~/opt/anaconda3/lib/python3.8/site-packages/espn_api-0.34.1-py3.8.egg/espn_api/basketball/league.py in _fetch_teams(self, data) 49 '''Fetch teams in league''' 50 pro_schedule = self._get_all_pro_schedule() ---> 51 super()._fetch_teams(data, TeamClass=Team, pro_schedule=pro_schedule) 52 53 # replace opponentIds in schedule with team instances ~/opt/anaconda3/lib/python3.8/site-packages/espn_api-0.34.1-py3.8.egg/espn_api/base_league.py in _fetch_teams(self, data, TeamClass, pro_schedule) 61 roster = team_roster[team['id']] 62 owners = [member for member in members if member.get('id') == (team.get('owners') or [''])[0]] ---> 63 self.teams.append(TeamClass(team, roster=roster, schedule=schedule, year=seasonId, owners=owners, pro_schedule=pro_schedule)) 64 65 # sort by team ID ~/opt/anaconda3/lib/python3.8/site-packages/espn_api-0.34.1-py3.8.egg/espn_api/basketball/team.py in __init__(self, data, roster, schedule, year, **kwargs) 29 30 self._fetch_roster(roster, year, kwargs.get('pro_schedule')) ---> 31 self._fetch_schedule(schedule) 32 self.owners = kwargs.get('owners', []) 33 ~/opt/anaconda3/lib/python3.8/site-packages/espn_api-0.34.1-py3.8.egg/espn_api/basketball/team.py in _fetch_schedule(self, data) 53 setattr(new_match, 'away_team', self) 54 self.schedule.append(new_match) ---> 55 elif match['home']['teamId'] == self.team_id: 56 new_match = Matchup(match) 57 setattr(new_match, 'home_team', self) KeyError: 'home'
cwendt94 commented 4 months ago

Hmm, I haven't run into this but definitely could be an edge case. Let me take a look at that line of code and see if I can make it more resilient.

cwendt94 commented 4 months ago

This should be fixed in v0.34.2