Untitled
unknown
plain_text
a year ago
1.7 kB
7
Indexable
def map_mdx_parameters(self, mdx_parameters):
"""
Maps input mdx params' values with params' keys from mdx formatting.
Ex: {AsOfDate: 2022-09-30} --> {data: 2022-09-30}
"""
if len(mdx_parameters) < len(self.parameters_to_fill):
logger.error('MDX query %s expects parameters: %s; but only these were received: %s',
self.mdx_query_name, self.parameters_to_fill, mdx_parameters)
raise KeyError
for param in self.parameters_to_fill:
try:
# Limpia saltos de línea y espacios de la clave de DICT_CAMPOS_MDX[param]
clean_key = DICT_CAMPOS_MDX[param].strip().replace("\n", "").replace(" ", "")
# Limpia las claves en mdx_parameters para asegurar coincidencias
clean_mdx_parameters = {k.strip().replace("\n", "").replace(" ", ""): v for k, v in mdx_parameters.items()}
# Busca la clave limpia en los parámetros
if clean_key in clean_mdx_parameters:
self.parameter_map[param] = clean_mdx_parameters[clean_key]
else:
logger.error(f"Clave limpia '{clean_key}' no encontrada en mdx_parameters.")
raise KeyError(f"Clave limpia '{clean_key}' no encontrada en mdx_parameters.")
except KeyError:
# Maneja el caso de usar directamente el parámetro recibido
try:
param_clean = param.strip().replace("\n", "").replace(" ", "")
self.parameter_map[param] = mdx_parameters[param_clean]
except KeyError:
logger.error(f"Clave '{param}' no encontrada en mdx_parameters (ni limpia ni original).")
raise
Editor is loading...
Leave a Comment