30 lines
1.0 KiB
Python
30 lines
1.0 KiB
Python
import os
|
|
|
|
from loguru import logger
|
|
|
|
from config import envvar
|
|
from gsheets import repository as gsheets
|
|
from providers.provider import FinDataRetriever
|
|
from providers.sources.yfin import YFinanceProvider
|
|
|
|
|
|
logger.info("starting flow: update historical rates")
|
|
|
|
ss_system = gsheets.get_sheet(sheet_name="system_crypto")
|
|
gsheets.update_date_column(sheet=ss_system, num_days=int(envvar.HISTORICAL_MAX_DATE))
|
|
_, date_range = gsheets.get_date_range(sheet=ss_system)
|
|
|
|
tickers = ["BTC-USD", "ETH-USD", "BTC-ETH", "USDTRY=X"]
|
|
|
|
for ticker in tickers:
|
|
logger.info(f"updating historical rates on system sheet for: {ticker}")
|
|
# if ticker == "USDTRY=X":
|
|
# print()
|
|
retriever = FinDataRetriever(provider=YFinanceProvider(), ticker=ticker)
|
|
data = retriever.get_historical_dynamic(sheet=ss_system, date_range=date_range)
|
|
ticker_header = retriever.provider.convert_ticker_symbol_to_gsheets_header(ticker)
|
|
gsheets.update_historical(sheet=ss_system, ticker=ticker_header, data=data)
|
|
|
|
logger.success("completed flow: update historical rates")
|
|
|