payment/payment_backend/utils/database.py

17 lines
582 B
Python

def pack_params(params_format="list", param_sql="{param}=%s", join_str=" AND ", **kwargs):
if params_format == "list":
params = []
elif params_format == "dict":
params = {}
else:
raise ValueError("Unknown params format")
param_sqls = []
for k, v in kwargs.items():
if v is not None:
if params_format == "list":
params.append(v)
elif params_format == "dict":
params[k] = v
param_sqls.append(param_sql.format(param=k))
return join_str.join(param_sqls), params