from utils import read, where, format_date @read def _select(*args, **kwargs): return f'''select rfn_fund_id as fund_id, rfn_date as nav_date, rfn_nav_cal as nav_cal from robo_fund_navs {where(*args, **kwargs)}''' def get_navs(fund_id=None, min_date=None, max_date=None): sqls = [] if min_date: sqls.append(f"rfn_date >= '{format_date(min_date)}'") if max_date: sqls.append(f"rfn_date <= '{format_date(max_date)}'") return _select(*sqls, rfn_fund_id=fund_id) if __name__ == '__main__': from utils import parse_date navs = get_navs(fund_id=1, min_date=parse_date('2022-11-01')) print(navs)