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")