| 
							 | 
						from dataclasses import dataclass | 
					
					
						
						| 
							 | 
						from urllib.parse import urljoin | 
					
					
						
						| 
							 | 
						from typing import List | 
					
					
						
						| 
							 | 
						from domain.conferences import NFLConference | 
					
					
						
						| 
							 | 
						from domain import divisions | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						@dataclass | 
					
					
						
						| 
							 | 
						class NFLTeam: | 
					
					
						
						| 
							 | 
						    team_name: str | 
					
					
						
						| 
							 | 
						    team_short_name: str | 
					
					
						
						| 
							 | 
						    city: str | 
					
					
						
						| 
							 | 
						    division: divisions.NFLDivision | 
					
					
						
						| 
							 | 
						    footballguys_short_name: str = "" | 
					
					
						
						| 
							 | 
						    id_map_short_name: str = "" | 
					
					
						
						| 
							 | 
						    rosters_short_name: str = "" | 
					
					
						
						| 
							 | 
						    url: str = "" | 
					
					
						
						| 
							 | 
						    injury_report_suffix: str = "/team/injury-report/" | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						    def __post_init__(self): | 
					
					
						
						| 
							 | 
						        self.footballguys_short_name = ( | 
					
					
						
						| 
							 | 
						            self.team_short_name if self.footballguys_short_name == "" else self.footballguys_short_name | 
					
					
						
						| 
							 | 
						        ) | 
					
					
						
						| 
							 | 
						        self.id_map_short_name = self.team_short_name if self.id_map_short_name == "" else self.id_map_short_name | 
					
					
						
						| 
							 | 
						        self.rosters_short_name = self.team_short_name if self.rosters_short_name == "" else self.rosters_short_name | 
					
					
						
						| 
							 | 
						        self.conference: NFLConference = self.division.conference | 
					
					
						
						| 
							 | 
						        self.injury_report_url = urljoin(self.url, self.injury_report_suffix) | 
					
					
						
						| 
							 | 
						        self.team_full_name = " ".join([self.city, self.team_name]) | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						        ALL_TEAMS.append(self) | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						ALL_TEAMS: List[NFLTeam] = [] | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						arizona_cardinals = NFLTeam( | 
					
					
						
						| 
							 | 
						    team_name="Cardinals", | 
					
					
						
						| 
							 | 
						    team_short_name="ARI", | 
					
					
						
						| 
							 | 
						    city="Arizona", | 
					
					
						
						| 
							 | 
						    division=divisions.NFCWest, | 
					
					
						
						| 
							 | 
						    url="https://www.azcardinals.com/", | 
					
					
						
						| 
							 | 
						) | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						atlanta_falcons = NFLTeam( | 
					
					
						
						| 
							 | 
						    team_name="Falcons", | 
					
					
						
						| 
							 | 
						    team_short_name="ATL", | 
					
					
						
						| 
							 | 
						    city="Atlanta", | 
					
					
						
						| 
							 | 
						    division=divisions.NFCSouth, | 
					
					
						
						| 
							 | 
						    url="https://www.atlantafalcons.com/", | 
					
					
						
						| 
							 | 
						) | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						baltimore_ravens = NFLTeam( | 
					
					
						
						| 
							 | 
						    team_name="Ravens", | 
					
					
						
						| 
							 | 
						    team_short_name="BAL", | 
					
					
						
						| 
							 | 
						    city="Baltimore", | 
					
					
						
						| 
							 | 
						    division=divisions.AFCNorth, | 
					
					
						
						| 
							 | 
						    url="https://www.baltimoreravens.com/", | 
					
					
						
						| 
							 | 
						) | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						buffalo_bills = NFLTeam( | 
					
					
						
						| 
							 | 
						    team_name="Bills", | 
					
					
						
						| 
							 | 
						    team_short_name="BUF", | 
					
					
						
						| 
							 | 
						    city="Buffalo", | 
					
					
						
						| 
							 | 
						    division=divisions.AFCEast, | 
					
					
						
						| 
							 | 
						    url="https://www.buffalobills.com/", | 
					
					
						
						| 
							 | 
						) | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						carolina_panthers = NFLTeam( | 
					
					
						
						| 
							 | 
						    team_name="Panthers", | 
					
					
						
						| 
							 | 
						    team_short_name="CAR", | 
					
					
						
						| 
							 | 
						    city="Carolina", | 
					
					
						
						| 
							 | 
						    division=divisions.NFCSouth, | 
					
					
						
						| 
							 | 
						    url="https://www.panthers.com/", | 
					
					
						
						| 
							 | 
						) | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						chicago_bears = NFLTeam( | 
					
					
						
						| 
							 | 
						    team_name="Bears", | 
					
					
						
						| 
							 | 
						    team_short_name="CHI", | 
					
					
						
						| 
							 | 
						    city="Chicago", | 
					
					
						
						| 
							 | 
						    division=divisions.NFCNorth, | 
					
					
						
						| 
							 | 
						    url="https://www.chicagobears.com/", | 
					
					
						
						| 
							 | 
						) | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						cincinnati_bengals = NFLTeam( | 
					
					
						
						| 
							 | 
						    team_name="Bengals", | 
					
					
						
						| 
							 | 
						    team_short_name="CIN", | 
					
					
						
						| 
							 | 
						    city="Cincinnati", | 
					
					
						
						| 
							 | 
						    division=divisions.AFCNorth, | 
					
					
						
						| 
							 | 
						    url="https://www.bengals.com/", | 
					
					
						
						| 
							 | 
						) | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						cleveland_browns = NFLTeam( | 
					
					
						
						| 
							 | 
						    team_name="Browns", | 
					
					
						
						| 
							 | 
						    team_short_name="CLE", | 
					
					
						
						| 
							 | 
						    city="Cleveland", | 
					
					
						
						| 
							 | 
						    division=divisions.AFCNorth, | 
					
					
						
						| 
							 | 
						    url="https://www.clevelandbrowns.com/", | 
					
					
						
						| 
							 | 
						) | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						dallas_cowboys = NFLTeam( | 
					
					
						
						| 
							 | 
						    team_name="Cowboys", | 
					
					
						
						| 
							 | 
						    team_short_name="DAL", | 
					
					
						
						| 
							 | 
						    city="Dallas", | 
					
					
						
						| 
							 | 
						    division=divisions.NFCEast, | 
					
					
						
						| 
							 | 
						    url="https://www.dallascowboys.com/", | 
					
					
						
						| 
							 | 
						) | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						denver_broncos = NFLTeam( | 
					
					
						
						| 
							 | 
						    team_name="Broncos", | 
					
					
						
						| 
							 | 
						    team_short_name="DEN", | 
					
					
						
						| 
							 | 
						    city="Denver", | 
					
					
						
						| 
							 | 
						    division=divisions.AFCWest, | 
					
					
						
						| 
							 | 
						    url="https://www.denverbroncos.com/", | 
					
					
						
						| 
							 | 
						) | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						detroit_lions = NFLTeam( | 
					
					
						
						| 
							 | 
						    team_name="Lions", | 
					
					
						
						| 
							 | 
						    team_short_name="DET", | 
					
					
						
						| 
							 | 
						    city="Detroit", | 
					
					
						
						| 
							 | 
						    division=divisions.NFCNorth, | 
					
					
						
						| 
							 | 
						    url="https://www.detroitlions.com/", | 
					
					
						
						| 
							 | 
						) | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						green_bay_packers = NFLTeam( | 
					
					
						
						| 
							 | 
						    team_name="Packers", | 
					
					
						
						| 
							 | 
						    team_short_name="GB", | 
					
					
						
						| 
							 | 
						    city="Green Bay", | 
					
					
						
						| 
							 | 
						    division=divisions.NFCNorth, | 
					
					
						
						| 
							 | 
						    url="https://www.packers.com/", | 
					
					
						
						| 
							 | 
						    id_map_short_name="GBP", | 
					
					
						
						| 
							 | 
						) | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						houston_texans = NFLTeam( | 
					
					
						
						| 
							 | 
						    team_name="Texans", | 
					
					
						
						| 
							 | 
						    team_short_name="HOU", | 
					
					
						
						| 
							 | 
						    city="Houston", | 
					
					
						
						| 
							 | 
						    division=divisions.AFCSouth, | 
					
					
						
						| 
							 | 
						    url="https://www.houstontexans.com/", | 
					
					
						
						| 
							 | 
						) | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						indianapolis_colts = NFLTeam( | 
					
					
						
						| 
							 | 
						    city="Indianapolis", | 
					
					
						
						| 
							 | 
						    team_name="Colts", | 
					
					
						
						| 
							 | 
						    team_short_name="IND", | 
					
					
						
						| 
							 | 
						    division=divisions.AFCSouth, | 
					
					
						
						| 
							 | 
						    url="https://www.colts.com/", | 
					
					
						
						| 
							 | 
						) | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						jacksonville_jaguars = NFLTeam( | 
					
					
						
						| 
							 | 
						    city="Jacksonville", | 
					
					
						
						| 
							 | 
						    team_name="Jaguars", | 
					
					
						
						| 
							 | 
						    team_short_name="JAX", | 
					
					
						
						| 
							 | 
						    division=divisions.AFCSouth, | 
					
					
						
						| 
							 | 
						    url="https://www.jaguars.com/", | 
					
					
						
						| 
							 | 
						    id_map_short_name="JAC", | 
					
					
						
						| 
							 | 
						) | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						kansas_city_chiefs = NFLTeam( | 
					
					
						
						| 
							 | 
						    city="Kansas City", | 
					
					
						
						| 
							 | 
						    team_name="Chiefs", | 
					
					
						
						| 
							 | 
						    team_short_name="KC", | 
					
					
						
						| 
							 | 
						    division=divisions.AFCWest, | 
					
					
						
						| 
							 | 
						    url="https://www.chiefs.com/", | 
					
					
						
						| 
							 | 
						    id_map_short_name="KCC", | 
					
					
						
						| 
							 | 
						) | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						las_vegas_raiders = NFLTeam( | 
					
					
						
						| 
							 | 
						    city="Las Vegas", | 
					
					
						
						| 
							 | 
						    team_name="Raiders", | 
					
					
						
						| 
							 | 
						    team_short_name="LV", | 
					
					
						
						| 
							 | 
						    division=divisions.AFCWest, | 
					
					
						
						| 
							 | 
						    url="https://www.raiders.com/", | 
					
					
						
						| 
							 | 
						    id_map_short_name="LVR", | 
					
					
						
						| 
							 | 
						) | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						los_angeles_chargers = NFLTeam( | 
					
					
						
						| 
							 | 
						    city="Los Angeles", | 
					
					
						
						| 
							 | 
						    team_name="Chargers", | 
					
					
						
						| 
							 | 
						    team_short_name="LAC", | 
					
					
						
						| 
							 | 
						    division=divisions.AFCWest, | 
					
					
						
						| 
							 | 
						    url="https://www.chargers.com/", | 
					
					
						
						| 
							 | 
						) | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						los_angeles_rams = NFLTeam( | 
					
					
						
						| 
							 | 
						    city="Los Angeles", | 
					
					
						
						| 
							 | 
						    team_name="Rams", | 
					
					
						
						| 
							 | 
						    team_short_name="LAR", | 
					
					
						
						| 
							 | 
						    division=divisions.NFCWest, | 
					
					
						
						| 
							 | 
						    url="https://www.therams.com/", | 
					
					
						
						| 
							 | 
						    rosters_short_name="LA", | 
					
					
						
						| 
							 | 
						) | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						miami_dolphins = NFLTeam( | 
					
					
						
						| 
							 | 
						    city="Miami", | 
					
					
						
						| 
							 | 
						    team_name="Dolphins", | 
					
					
						
						| 
							 | 
						    team_short_name="MIA", | 
					
					
						
						| 
							 | 
						    division=divisions.AFCEast, | 
					
					
						
						| 
							 | 
						    url="https://www.miamidolphins.com/", | 
					
					
						
						| 
							 | 
						) | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						minnesota_vikings = NFLTeam( | 
					
					
						
						| 
							 | 
						    city="Minnesota", | 
					
					
						
						| 
							 | 
						    team_name="Vikings", | 
					
					
						
						| 
							 | 
						    team_short_name="MIN", | 
					
					
						
						| 
							 | 
						    division=divisions.NFCNorth, | 
					
					
						
						| 
							 | 
						    url="https://www.vikings.com/", | 
					
					
						
						| 
							 | 
						) | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						new_england_patriots = NFLTeam( | 
					
					
						
						| 
							 | 
						    city="New England", | 
					
					
						
						| 
							 | 
						    team_name="Patriots", | 
					
					
						
						| 
							 | 
						    team_short_name="NE", | 
					
					
						
						| 
							 | 
						    division=divisions.AFCEast, | 
					
					
						
						| 
							 | 
						    url="https://www.patriots.com/", | 
					
					
						
						| 
							 | 
						    id_map_short_name="NEP", | 
					
					
						
						| 
							 | 
						) | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						new_orleans_saints = NFLTeam( | 
					
					
						
						| 
							 | 
						    city="New Orleans", | 
					
					
						
						| 
							 | 
						    team_name="Saints", | 
					
					
						
						| 
							 | 
						    team_short_name="NO", | 
					
					
						
						| 
							 | 
						    division=divisions.NFCSouth, | 
					
					
						
						| 
							 | 
						    url="https://www.neworleanssaints.com/", | 
					
					
						
						| 
							 | 
						    id_map_short_name="NOS", | 
					
					
						
						| 
							 | 
						) | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						new_york_giants = NFLTeam( | 
					
					
						
						| 
							 | 
						    city="New York", | 
					
					
						
						| 
							 | 
						    team_name="Giants", | 
					
					
						
						| 
							 | 
						    team_short_name="NYG", | 
					
					
						
						| 
							 | 
						    division=divisions.NFCEast, | 
					
					
						
						| 
							 | 
						    url="https://www.giants.com/", | 
					
					
						
						| 
							 | 
						) | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						new_york_jets = NFLTeam( | 
					
					
						
						| 
							 | 
						    city="New York", | 
					
					
						
						| 
							 | 
						    team_name="Jets", | 
					
					
						
						| 
							 | 
						    team_short_name="NYJ", | 
					
					
						
						| 
							 | 
						    division=divisions.AFCEast, | 
					
					
						
						| 
							 | 
						    url="https://www.newyorkjets.com/", | 
					
					
						
						| 
							 | 
						) | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						philadelphia_eagles = NFLTeam( | 
					
					
						
						| 
							 | 
						    city="Philadelphia", | 
					
					
						
						| 
							 | 
						    team_name="Eagles", | 
					
					
						
						| 
							 | 
						    team_short_name="PHI", | 
					
					
						
						| 
							 | 
						    division=divisions.NFCEast, | 
					
					
						
						| 
							 | 
						    url="https://www.philadelphiaeagles.com/", | 
					
					
						
						| 
							 | 
						) | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						pittsburgh_steelers = NFLTeam( | 
					
					
						
						| 
							 | 
						    city="Pittsburgh", | 
					
					
						
						| 
							 | 
						    team_name="Steelers", | 
					
					
						
						| 
							 | 
						    team_short_name="PIT", | 
					
					
						
						| 
							 | 
						    division=divisions.AFCNorth, | 
					
					
						
						| 
							 | 
						    url="https://www.steelers.com/", | 
					
					
						
						| 
							 | 
						) | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						san_francisco_49ers = NFLTeam( | 
					
					
						
						| 
							 | 
						    city="San Francisco", | 
					
					
						
						| 
							 | 
						    team_name="49ers", | 
					
					
						
						| 
							 | 
						    team_short_name="SF", | 
					
					
						
						| 
							 | 
						    division=divisions.NFCWest, | 
					
					
						
						| 
							 | 
						    url="https://www.49ers.com/", | 
					
					
						
						| 
							 | 
						    id_map_short_name="SFO", | 
					
					
						
						| 
							 | 
						) | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						seattle_seahawks = NFLTeam( | 
					
					
						
						| 
							 | 
						    city="Seattle", | 
					
					
						
						| 
							 | 
						    team_name="Seahawks", | 
					
					
						
						| 
							 | 
						    team_short_name="SEA", | 
					
					
						
						| 
							 | 
						    division=divisions.NFCWest, | 
					
					
						
						| 
							 | 
						    url="https://www.seahawks.com/", | 
					
					
						
						| 
							 | 
						) | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						tampa_bay_buccaneers = NFLTeam( | 
					
					
						
						| 
							 | 
						    city="Tampa Bay", | 
					
					
						
						| 
							 | 
						    team_name="Buccaneers", | 
					
					
						
						| 
							 | 
						    team_short_name="TB", | 
					
					
						
						| 
							 | 
						    division=divisions.NFCSouth, | 
					
					
						
						| 
							 | 
						    url="https://www.buccaneers.com/", | 
					
					
						
						| 
							 | 
						    id_map_short_name="TBB", | 
					
					
						
						| 
							 | 
						) | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						tennessee_titans = NFLTeam( | 
					
					
						
						| 
							 | 
						    city="Tennessee", | 
					
					
						
						| 
							 | 
						    team_name="Titans", | 
					
					
						
						| 
							 | 
						    team_short_name="TEN", | 
					
					
						
						| 
							 | 
						    division=divisions.AFCSouth, | 
					
					
						
						| 
							 | 
						    url="https://www.tennesseetitans.com/", | 
					
					
						
						| 
							 | 
						) | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						washington_football_team = NFLTeam( | 
					
					
						
						| 
							 | 
						    city="Washington", | 
					
					
						
						| 
							 | 
						    team_name="Commanders", | 
					
					
						
						| 
							 | 
						    team_short_name="WAS", | 
					
					
						
						| 
							 | 
						    division=divisions.NFCEast, | 
					
					
						
						| 
							 | 
						    url="https://www.commanders.com/", | 
					
					
						
						| 
							 | 
						) | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						PFR_NAME_TO_SCHEDULE_NAME_MAP = {t.team_full_name: t.rosters_short_name for t in ALL_TEAMS} | 
					
					
						
						| 
							 | 
						
 |