Untitled
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
Leave a Comment