예제 #1
0
    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))
예제 #2
0
    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
        }