Jon Solow
Map team names in schedule to start and implement scores shown
459585e
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}