def __process_incoming_request(self, action, task_check=None): """ Procesa una solicitud entrante al sistema. :action: [Function] - Acción a realizar. :task_check: [List] - Validaciones a realizar en el administrador de tareas. """ if not self.is_ready(): return self.__build_response_object(False, error=ErrorHandler.get_error('E-0073', [])) if task_check: if self.__task_manager.check_model_creation_tasks([TASK_KEYS_WORD_PROCESSOR]): return self.__build_response_object(False, error=ErrorHandler.get_error('E-0031', [])) try: return action() except Exception as e: return self.__build_response_object(False, error=ErrorHandler.get_error_dict(e))
def __build_response_object(self, operation_success, payload=None, error=None): """ Construye el diccionario de respuesta para las solicitudes al controlador. :operation_success: [boolean] - Indica el exito de la tarea. :payload: [Dict] - Diccionario conteniendo los datos a retornar. """ resource = payload if not operation_success: error_data = error if not error_data: error_data = ErrorHandler.get_error('E-0019', []) return { 'success': False, 'error_data': error_data } return { 'success': operation_success, 'resource': resource }