22 lines
915 B
Python
22 lines
915 B
Python
from app.config import Settings
|
|
from app.market.base import MarketDataSource
|
|
from app.market.replay import ReplaySource
|
|
from app.market.yahoo import YahooSource
|
|
|
|
|
|
def live_source(settings: Settings) -> MarketDataSource:
|
|
if settings.live_source == "yahoo":
|
|
return YahooSource(settings.yahoo_poll_seconds)
|
|
if settings.live_source == "replay" and settings.replay_file:
|
|
return ReplaySource(settings.replay_file)
|
|
raise ValueError(f"Unsupported LIVE_SOURCE: {settings.live_source}")
|
|
|
|
|
|
def seed_source(settings: Settings) -> MarketDataSource | None:
|
|
if settings.seed_source == "none":
|
|
return None
|
|
if settings.seed_source == "yahoo":
|
|
return YahooSource(settings.yahoo_poll_seconds)
|
|
if settings.seed_source == "replay" and settings.replay_file:
|
|
return ReplaySource(settings.replay_file)
|
|
raise ValueError(f"Unsupported SEED_SOURCE: {settings.seed_source}")
|