Example #1
0
    def train(self):
        session_context = cherrypy.session.get('session_context')
        try:
            rwLearn.train_neighbors(None, rwObjects.default_neighbors_classifier)
        except Exception as e:
            return ShowError("Обновить классификацию кейсов нельзя. " + str(e))

        raise cherrypy.HTTPRedirect("/settings?menu=ktree")
Example #2
0
    def create_new(self, **kwargs):
        data = cherrypy.request.params
        session_context = cherrypy.session.get('session_context')
        url = session_context['back_ref']
        print "Данные запроса: %s" % data

        session = rwObjects.Session()
        # Получаем по uuid создателя кейса
        try:
            source = rwObjects.get_by_uuid(session_context['uuid'])[0]
        except Exception as e:
            return ShowError("""Case.create_new. Операция: rwObjects.get_by_uuid(). Ошибка : %s""" % str(e))
        else:
            pass

        # Создаем новый Case и проводим тренировку классификатора расстояний
        try:
            status, obj = rwObjects.create_new_object(session, "cases", data, source)
        except Exception as e:
            return ShowError("""Ktree.create_new. Операция: rwObjects.create_new_object(session, 'knowledge_tree',
                             params, source). Ошибка : %s""" % str(e))
        else:
            uuid = str(obj.uuid)
            rwLearn.train_neighbors(session, rwObjects.default_neighbors_classifier)
            print status

        # Линкуем новый Case с объектом из которого он был создан
        try:
            status = rwObjects.link_objects(session,obj.uuid,data['do_object_uuid'])
        except Exception as e:
            return ShowError("""Case.create_new. Операция: rwObjects.link_objects(session,obj.uuid,
                    data['do_object_uuid']). Ошибка : %s""" % str(e))
        else:
            print status[0]
            print status[1]
            if not status[0]:
                return ShowError(str(status[0]) + status[1])

        # Линкуем новый Case с узлами Навигатора Знаний коорые были в связаны с объектм родителем
        do_obj = rwObjects.get_by_uuid(data['do_object_uuid'])[0]
        print do_obj.NAME
        print do_obj.__dict__['custom_category']
        for cat in do_obj.__dict__['custom_category']:
            print cat.name
            try:
                status = rwObjects.link_objects(session,cat.uuid,obj.uuid)
            except Exception as e:
                return ShowError("""Case.create_new. Операция: rwObjects.link_objects(session,obj.uuid,cat).
                            Ошибка : %s""" % str(e))
            else:
                print status[0]
                print status[1]
                if not status[0]:
                    return ShowError(str(status[0]) + status[1])

        session.close()
        G.reload()
        raise cherrypy.HTTPRedirect("/object/%s/addlink" % uuid)