def ModificarArchivoRuta(self,ruta,dato1,dato2): self.textoBits="" vector=ruta.split("A") auxiliar=self.primero while auxiliar!=None: if vector[0]==auxiliar.nombre: #print("hola") index=len(vector) if index==2: if auxiliar.archivo==None: print("No se puede Modificar el archivo en esta ruta") else: avl=Arbol() avl.ModificarAVL(auxiliar.archivo,dato1,dato2) else: indicador=2 while indicador < index: if indicador==2: self.temp=self.buscar(auxiliar.carpeta,str(vector[indicador])).claves[self.IndicedelNodo(self.buscar(auxiliar.carpeta,str(vector[indicador])).claves,str(vector[indicador]))] indicador+=1 else: self.temp2=self.temp print(self.temp2.nombre) self.temp=self.buscar(self.temp2.arbolb,str(vector[indicador])).claves[self.IndicedelNodo(self.buscar(self.temp2.arbolb,str(vector[indicador])).claves,str(vector[indicador]))] print(self.temp.nombre) indicador+=1 if self.temp.avl==None: print("no se puede Modificar Archivo en esta ruta") else: avl=Arbol() avl.ModificarAVL(self.temp.avl,dato1,dato2) auxiliar=auxiliar.siguiente
def GetBits(self,ruta,archivo): self.textoBits="" vector=ruta.split("A") auxiliar=self.primero while auxiliar!=None: if vector[0]==auxiliar.nombre: #print("hola") index=len(vector) if index==2: if auxiliar.archivo==None: print("No se puede Graficar en esta ruta") else: avl=Arbol() self.textoBits=avl.InOrdenBits(auxiliar.archivo,archivo) else: indicador=2 while indicador < index: if indicador==2: self.temp=self.buscar(auxiliar.carpeta,str(vector[indicador])).claves[self.IndicedelNodo(self.buscar(auxiliar.carpeta,str(vector[indicador])).claves,str(vector[indicador]))] indicador+=1 else: self.temp2=self.temp print(self.temp2.nombre) self.temp=self.buscar(self.temp2.arbolb,str(vector[indicador])).claves[self.IndicedelNodo(self.buscar(self.temp2.arbolb,str(vector[indicador])).claves,str(vector[indicador]))] print(self.temp.nombre) indicador+=1 if self.temp.avl==None: print("no se puede Graficar en esta ruta") else: avl=Arbol() self.textoBits=avl.InOrdenBits(self.temp.avl,archivo) auxiliar=auxiliar.siguiente return self.textoBits
def ArchivoEnRuta(self,ruta,dato,bit): vector=ruta.split("A") auxiliar=self.primero while auxiliar!=None: if vector[0]==auxiliar.nombre: #print("hola") index=len(vector) if index==2: if auxiliar.archivo==None: auxiliar.archivo=NodoArbol(dato,bit) else: ar=Arbol() ar.InsertarAVL(auxiliar.archivo,dato,bit) ar.PosOrden(auxiliar.archivo) if auxiliar.archivo.factor==2: if auxiliar.archivo.izquierdo.factor==1: n=auxiliar n1=auxiliar.archivo n2=auxiliar.archivo.izquierdo n1.izquierdo=n2.derecho n2.derecho=n1 n.archivo=n2 elif auxiliar.archivo.izquierdo.factor==-1: p=auxiliar n=auxiliar.archivo n1=auxiliar.archivo.izquierdo n2=auxiliar.archivo.izquierdo.derecho n1.derecho=n2.izquierdo n2.izquierdo=n1 n.izquierdo=n2.derecho n2.derecho=n p.archivo=n2 elif auxiliar.archivo.factor==-2: if auxiliar.archivo.derecho.factor==-1: p=auxiliar n=auxiliar.archivo n1=auxiliar.archivo.derecho n.derecho=n1.izquierdo n1.izquierdo=n p.archivo=n1 elif auxiliar.archivo.derecho.factor==1: p=auxiliar n=auxiliar.archivo n1=auxiliar.archivo.derecho n2=auxiliar.archivo.derecho.izquierdo n1.izquierdo=n2.derecho n2.derecho=n1 n.derecho=n2.izquierdo n2.izquierdo=n p.archivo=n2 else: indicador=2 while indicador < index: if indicador==2: self.temp=self.buscar(auxiliar.carpeta,str(vector[indicador])).claves[self.IndicedelNodo(self.buscar(auxiliar.carpeta,str(vector[indicador])).claves,str(vector[indicador]))] indicador+=1 else: self.temp2=self.temp print(self.temp2.nombre) self.temp=self.buscar(self.temp2.arbolb,str(vector[indicador])).claves[self.IndicedelNodo(self.buscar(self.temp2.arbolb,str(vector[indicador])).claves,str(vector[indicador]))] print(self.temp.nombre) indicador+=1 if self.temp.avl==None: self.temp.avl=NodoArbol(dato,bit) else: ar=Arbol() ar.InsertarAVL(self.temp.avl,dato,bit) ar.PosOrden(self.temp.avl) if self.temp.avl.factor==2: if self.temp.avl.izquierdo.factor==1: n=self.temp n1=self.temp.avl n2=self.temp.avl.izquierdo n1.izquierdo=n2.derecho n2.derecho=n1 n.avl=n2 elif self.temp.avl.izquierdo.factor==-1: p=self.temp n=self.temp.avl n1=self.temp.avl.izquierdo n2=self.temp.avl.izquierdo.derecho n1.derecho=n2.izquierdo n2.izquierdo=n1 n.izquierdo=n2.derecho n2.derecho=n p.avl=n2 elif self.temp.avl.factor==-2: if self.temp.avl.derecho.factor==-1: p=self.temp n=self.temp.avl n1=self.temp.avl.derecho n.derecho=n1.izquierdo n1.izquierdo=n p.avl=n1 elif self.temp.avl.derecho.factor==1: p=self.temp n=self.temp.avl n1=self.temp.avl.derecho n2=self.temp.avl.derecho.izquierdo n1.izquierdo=n2.derecho n2.derecho=n1 n.derecho=n2.izquierdo n2.izquierdo=n p.avl=n2 auxiliar=auxiliar.siguiente
class WebService(): @app.route('/matrizAgregar',methods=['POST']) def matrizAgregar(): usuario = str(request.form['usuario']) contrasenia = str(request.form['contrasenia']) nombre = str(request.form['nombre']) empresa = str(request.form['empresa']) depto = str(request.form['departamento']) nuevoNodo = NodoM(empresa, depto, nombre, contrasenia, usuario) matriz.agregarCabecerasMatriz(nuevoNodo) if matriz.necesitaProfundidad(nuevoNodo) == True: matriz.agregarProfundidad(nuevoNodo) else: matriz.agregarMatriz(nuevoNodo) return "MARIO BROS... El nodo con los siguientes atriburos empresa: '" + str(empresa) + "' departamento: '" + str(depto) + "' nombre: '" + str(nombre) + "' fue agregado correctamente" @app.route('/Login',methods=['POST']) #matriz Login este es el metodo para el login xDxdxDxd def Login(): usuario = str(request.form['usuario']) contrasenia = str(request.form['contrasenia']) nombre = None empresa = str(request.form['empresa']) depto = str(request.form['departamento']) nuevoNodo = NodoM(empresa, depto, nombre, contrasenia, usuario) var = matriz.buscarUsuario(nuevoNodo) return str(var) @app.route('/Catalogo',methods=['POST']) #metodo que tato me pide, devolver todo el arbol de un nodo especificado def catalogo(): valor = str(request.form['parametro']) datos = matriz.tato2() return str(datos) @app.route('/devolverArbol',methods=['POST']) #metodo que tato me pide, devolver todos los arboles def DevolverArbol(): valor = str(request.form['mario']) datos = matriz.tato2() return str(datos) @app.route('/agregarAVL',methods=['POST']) #matriz Login este es el metodo para el login xDxdxDxd def Login1(): usuario = str(request.form['usuario']) empresa = str(request.form['empresa']) depto = str(request.form['departamento']) idd = str(request.form['identificador']) contrasenia = str(request.form['contrasenia']) matriz.kelvin3(usuario, depto, empresa, idd, contrasenia) valor = matriz.retornarDatos() return usuario + str(valor) @app.route('/graficarAVL',methods=['POST']) #metodo para graficar un arbol de un nodo especifico def GraficarAVL(): usuario = str(request.form['usuario']) empresa = str(request.form['empresa']) depto = str(request.form['departamento']) matriz.limpiarVariableGraficar() matriz.serviceGraficarArbol(depto, empresa, usuario) return "funciono Mario Bross" @app.route('/graficarMatriz',methods=['POST']) #metodo para graficar un arbol de un nodo especifico def GraficarMatriz(): usuario = str(request.form['mario']) matriz.ArchivoMatriz() @app.route('/mario',methods=['POST']) #metodo para graficar un arbol de un nodo especifico def raficarAVL(): nombreActivo = str(request.form['activo']) descripcion = str(request.form['descripcion']) alfaNumerico = str(request.form['alfanumerico']) idd = str (request.form['identificador']) usuario = str(request.form['usuario']) empresa = str(request.form['empresa']) depto = str(request.form['departamento']) iddd = int(idd) variable = nombreActivo + " " + descripcion + " " + alfaNumerico + " " + " " + idd + " " + usuario + " " + empresa + " " + depto return variable arbol=Arbol(None,0); #arbol.raiz = arbol @app.route('/metodoWeb',methods=['POST']) def hello(): parametro = str(request.form['dato']) indice=int(parametro) arbol.agregar(arbol,indice) variable = arbol.raiz.info return str(variable) if __name__ == "__main__": app.run(debug=True, host='192.168.43.56')