Jon Solow
Add practice reports queries and libraries
ac8c5cd
raw
history blame
6.52 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 = ""
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.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/",
)
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/",
)