예제 #1
0
 def task_init_hook(self):
     """
     Método hook para completar el template de inicializadion en el padre.
     """
     try:
         adminModule = AdminModuleController()
         adminModule.load_model(self.__model_id)
         for file in self.__files:
             if not validate_file(file):
                 ErrorHandler.raise_error('E-0096')
             file_text = file.read()
             analysis_task = TextAnalysisTask(-1, self.__model_id,
                                              file_text,
                                              self.__only_positives)
             analysis_task.add_observer(self)
             self.__analysis_tasks.append({
                 'file': get_file_name(file),
                 'task': analysis_task
             })
             analysis_task.init()
         while not self.__check_task_finalized():
             time.sleep(5)
         self.set_results(self.__build_results())
     except Exception as e:
         error = ErrorHandler.get_error_dict(e)
         self.set_error_data(error)
    def approve_traning_examples(self, examples_id_list):
        """
        Aprueba un conjunto de ejemplos de entrenamiento cuyos ids se encuentran en la lista de 
        ids provista. Si alguno de los ids en la lista no existe la operación no se realizará para
        ningún ejemplo.

        :examples_id_list: [List(int)] - Lista con los ids de los ejemplos de entrenamiento a aprobar.

        :return: [List(dict)] - Listado indicando los ejemplos de entrenamiento que se han podido
        aceptar y los que no.
        """
        Logger.log('L-0305')
        results = list([])
        for example_id in examples_id_list:
            status = False
            error = None
            try:
                self.__train_data_manager.approve_example(example_id)
                status = True
            except Exception as e:
                error = ErrorHandler.get_error_dict(e)
            finally:
                results.append({
                    'example_id': example_id,
                    'status': status,
                    'error': error
                })
        Logger.log('L-0306')
        return results
    def discard_training_examples(self, examples_id_list):
        """
        Rechaza el conjunto de ejemplos de entrenamiento que tienen los ids especificados en la lista
        de ids provista. Todos los ids provistos deben existir, de lo contrario, no se descartará
        ninguno.

        :examples_id_list: [List(int)] - Listado con los ids de los ejemplos a rechazar.

        :return: [List(dict)] - Listado indicando los ejemplos de entrenamiento que se han podido
        rechazar y los que no.
        """
        Logger.log('L-0314')
        results = list([])
        for example_id in examples_id_list:
            status = False
            error = None
            try:
                self.__train_data_manager.discard_example(example_id)
                status = True
            except Exception as e:
                error = ErrorHandler.get_error_dict(e)
            finally:
                results.append({
                    'example_id': example_id,
                    'status': status,
                    'error': error
                })
        Logger.log('L-0315')
        return results
예제 #4
0
 def task_init_hook(self):
     """
     Método hook para completar el template de inicializadion en el padre.
     """
     try:
         application_module = ApplicationModuleController()
         results = application_module.analyse_text(self.__model_id, self.__text, self.__only_positives)
         self.set_results(results)
     except Exception as e:
         error = ErrorHandler.get_error_dict(e)
         self.set_error_data(error)
예제 #5
0
 def task_init_hook(self):
     """
     Método que se ejecutará en el template del init de la task de la clase padre.
     """
     try:
         admin = AdminModuleController()
         admin.apply_approved_examples(self.__model_id)
         self.set_results(self.get_task_data())
     except Exception as e:
         error = ErrorHandler.get_error_dict(e)
         self.set_error_data(error)
예제 #6
0
 def task_init_hook(self):
     """
     Método hook para completar el template de inicializadion en el padre.
     """
     try:
         admin = AdminModuleController()
         admin.generate_model(self.__model_id, self.__model_name,
                              self.__description, self.__author,
                              self.__tokenizer_exceptions, self.__max_dist)
         self.set_results(self.get_task_data())
     except Exception as e:
         error = ErrorHandler.get_error_dict(e)
         self.set_error_data(error)
예제 #7
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))