Files
HomeAssistance/custom_components/teamtracker/provider_factory.py
T
2026-06-05 22:34:31 -04:00

29 lines
1.0 KiB
Python

""" Parser Factory """
from __future__ import annotations
from typing import TYPE_CHECKING
from .provide_cflscoreboard import CflScoreboardProvider
from .provide_espn import EspnProvider
from .provide_espn_all import EspnAllLeaguesProvider
from .provide_hockeytech import HockeyTechProvider
from .provider_base import BaseSportProvider
from .utils import is_integer
if TYPE_CHECKING:
from .coordinator import TeamTrackerCoordinator
def get_provider(sport_path: str, league_path: str, team_id: str="", coordinator: TeamTrackerCoordinator | None = None) -> BaseSportProvider:
"""Factory function to get the correct provider instance."""
provider: BaseSportProvider = EspnProvider(coordinator)
if sport_path.lower() == "hockeytech":
provider = HockeyTechProvider(coordinator)
elif sport_path.lower() == "cflscoreboard":
provider = CflScoreboardProvider(coordinator)
elif league_path.lower() == "all" and is_integer(team_id):
provider = EspnAllLeaguesProvider(coordinator)
return provider