Jon Solow
Move playoff team definition to playoffs.py
1727748
raw
history blame
6.8 kB
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 = ""
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.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/",
)
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/",
)
kansas_city_chiefs = NFLTeam(
city="Kansas City",
team_name="Chiefs",
team_short_name="KC",
division=divisions.AFCWest,
url="https://www.chiefs.com/",
)
las_vegas_raiders = NFLTeam(
city="Las Vegas",
team_name="Raiders",
team_short_name="LV",
division=divisions.AFCWest,
url="https://www.raiders.com/",
)
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/",
)
new_orleans_saints = NFLTeam(
city="New Orleans",
team_name="Saints",
team_short_name="NO",
division=divisions.NFCSouth,
url="https://www.neworleanssaints.com/",
)
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/",
)
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/",
)
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/",
)
SCHEDULE_NAME_TO_PFR_NAME_MAP = {t.rosters_short_name: t.team_full_name for t in ALL_TEAMS}