in redshift_connector/core.py [0:0]
def make_params(self: "Connection", values):
params = []
for value in values:
typ = type(value)
try:
params.append(self.py_types[typ])
except KeyError:
try:
params.append(self.inspect_funcs[typ](value))
except KeyError as e:
param = None
for k, v in self.py_types.items():
try:
if isinstance(value, typing.cast(type, k)):
param = v
break
except TypeError:
pass
if param is None:
for k, v in self.inspect_funcs.items(): # type: ignore
try:
if isinstance(value, k):
v_func: typing.Callable = typing.cast(typing.Callable, v)
param = v_func(value)
break
except TypeError:
pass
except KeyError:
pass
if param is None:
raise NotSupportedError("type " + str(e) + " not mapped to pg type")
else:
params.append(param)
return tuple(params)