from framework import read, where, format_date @read def _select(*args, **kwargs): return f'''select re_id as id, re_ticker as ticker, re_date as date, re_close as close from robo_exrate {where(*args, **kwargs)}''' def get_exrates(ticker=None, min_date=None, max_date=None): sqls = [] if min_date: sqls.append(f"re_date >= '{format_date(min_date)}'") if max_date: sqls.append(f"re_date <= '{format_date(max_date)}'") return _select(*sqls, re_ticker=ticker) @read(one=True) def get_exrate(ticker, date): return f'''select re_id as id, re_ticker as ticker, re_date as date, re_close as close from robo_exrate {where(re_ticker=ticker, re_date=date)}''' if __name__ == '__main__': from framework import parse_date print(get_exrate(date=parse_date('2022-11-01'), ticker='EURUSD BGN Curncy'))