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")
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)