from py_jftech import read, where, format_date __COLUMNS__ = { 're_id': 'id', 're_ticker': 'ticker', 're_date': 'date', 're_close': 'close', } @read 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 f'''select {','.join([f"{x[0]} as {x[1]}" for x in __COLUMNS__.items()])} from robo_exrate {where(*sqls, re_ticker=ticker)}''' @read(one=True) def get_exrate(ticker, date): return f'''select {','.join([f"{x[0]} as {x[1]}" for x in __COLUMNS__.items()])} from robo_exrate {where(re_ticker=ticker, re_date=date)}'''