def agregar(self): global ContEnsayo control=True t=float(self.txttiempo.toPlainText()) print "tiempo: "+str(t) ## Se verifica que vengas los datos con sus tiempos ordenados de manera creciente sino salta control=ContEnsayo.verificarFormato(self.bombeos, t) if (control==False): reply = QtGui.QMessageBox.critical(self, "Error", "Los datos de bombeo no fueron agregaos. Debe ingresar un valor para el tiempo mayor a los ingresados anteriormente.") else: c=float(self.txtcaudal.toPlainText()) print "caudal: "+str(c) b=bombeo.bombeo(t,c) self.bombeos.append(b) reply = QtGui.QMessageBox.information(self, "Información", "Se agregaron los datos del bombeo. Presione finalizar para guardar el ensayo") self.txttiempo.setText('') self.txtcaudal.setText('')
def elegirensayo(self, item): ## print self.model.data(item,QtCore.Qt.DisplayRole) ## Se Llama al metodo objeto del modelotabla para retornar el ensayo original asociado e=self.model.objeto(item) print "se elijiio ensayo "+str(e.id) ## Se crea una instancia de bombeo para tomar los nombres de los atributos aux=bombeo.bombeo(0,0) ## Se instancia un modelo tabla con el ensayo seleccionado y los atributos a mostrar(tiempo, caudal) model2=modelotabla.modelotabla(e.devolverB(), aux.datosNombre()) ## Se setea el modelo en la tabla 2 self.tablita2.setModel(model2)
def elegirensayo(self, item): ## print self.model.data(item,QtCore.Qt.DisplayRole) ## Se Llama al metodo objeto del modelotabla para retornar el ensayo original asociado e = self.model.objeto(item) print "se elijiio ensayo " + str(e.id) ## Se crea una instancia de bombeo para tomar los nombres de los atributos aux = bombeo.bombeo(0, 0) ## Se instancia un modelo tabla con el ensayo seleccionado y los atributos a mostrar(tiempo, caudal) model2 = modelotabla.modelotabla(e.devolverB(), aux.datosNombre()) ## Se setea el modelo en la tabla 2 self.tablita2.setModel(model2)
def copiarAPozoVirtual(self, p, tipo): ## print 'pozo virutal x: '+str(self.x) + 'pozo virutal y: '+str(self.y) bombeosn = [] bombeosp = p.ensayos[0].devolverBProc() if tipo == "positivo" or tipo == "Positivo": #si en positiva se restan todos los caudales for b in bombeosp: bombeosn.append(bombeo(b.tiempo, -b.caudal)) ## print 'caudal: '+str(-b.caudal) else: ##si es negativa la copia es exacta bombeosn = bombeosp e = ensayobombeo(bombeosn, p.ensayos[0].id, p.ensayos[0].nombre) e.setearBProc(bombeosn) self.ensayos = [e]
def copiarAPozoVirtual(self,p,tipo): ## print 'pozo virutal x: '+str(self.x) + 'pozo virutal y: '+str(self.y) bombeosn=[] bombeosp=p.ensayos[0].devolverBProc() if tipo == "positivo" or tipo == "Positivo": #si en positiva se restan todos los caudales for b in bombeosp: bombeosn.append(bombeo(b.tiempo, -b.caudal)) ## print 'caudal: '+str(-b.caudal) else: ##si es negativa la copia es exacta bombeosn=bombeosp e=ensayobombeo(bombeosn,p.ensayos[0].id, p.ensayos[0].nombre) e.setearBProc(bombeosn) self.ensayos=[e]
def proceso(self, bombeos): #solo se hace si hay mas de un ensayo de bombeo #nuevo lista de bombeos procesada nuevaBombeos=[] ##Se comienza agregando el primer bombeo recibido nuevaBombeos.append(bombeos[0]) if len(bombeos)>1: #se modifica a partir de la segunda medida for j in range(1,len(bombeos)): t=bombeos[j].tiempo c=0.0 for k in range(1,j+1): c=c-bombeos[k-1].caudal #p(new).t(1)=p(i).t(j); nb=bombeo(t,c) nuevaBombeos.append(nb) return nuevaBombeos
def proceso(self, bombeos): #solo se hace si hay mas de un ensayo de bombeo #nuevo lista de bombeos procesada nuevaBombeos = [] ##Se comienza agregando el primer bombeo recibido nuevaBombeos.append(bombeos[0]) if len(bombeos) > 1: #se modifica a partir de la segunda medida for j in range(1, len(bombeos)): t = bombeos[j].tiempo c = 0.0 for k in range(1, j + 1): c = c - bombeos[k - 1].caudal #p(new).t(1)=p(i).t(j); nb = bombeo(t, c) nuevaBombeos.append(nb) return nuevaBombeos
def accionaceptar(self): print "aceptar" n=str(self.nombre.toPlainText()) ## se inicializa el array de bombeos bombeos=[] control=True global ContEnsayo if self.ext=="txt": ## Se abre el archivo f=open(self.archivo) ## Lectura del archivo de los bombeos ## Se dividen las lineas separadas por \n contenido=f.readlines() ## print "El id inicial es: " + str(ContEnsayo.traerid()) for linea in contenido: ## print linea ## Se separa la linea por el tabulador datos=linea.split("\t") ## Se esa lina tiene dos columnas se procesa si no no if (len(datos)>=2): t=float(datos[0]) print "tiempo: "+str(t) ## Se verifica que vengas los datos con sus tiempos ordenados de manera creciente sino salta control=ContEnsayo.verificarFormato(bombeos, t) if (control==True): c=float(datos[1]) print "caudal: "+str(c) b=bombeo.bombeo(t,c) bombeos.append(b) else: break else: ##07-02 Solucionado problema de caracteres raros en la ruta #f= zipfile.ZipFile((str(self.archivo))) f= zipfile.ZipFile((self.archivo)) fcontent = f.read('content.xml') contenido = xml.dom.minidom.parseString(fcontent) datos = contenido.getElementsByTagName('text:p') i=0 for p in datos: for ch in p.childNodes: if ch.nodeType == ch.TEXT_NODE: if i==0 : t=float(ch.data) print "tiempo: "+str(t) i=1 control=ContEnsayo.verificarFormato(bombeos, t) else: c=float(ch.data) print "caudal: "+str(c) b=bombeo.bombeo(t,c) bombeos.append(b) i=0 if (control==False): break if (control==False): print "salga" break if (control==False): reply = QtGui.QMessageBox.critical(self, "Error", "El archivo ingresado tiene un formato incorrecto. Verifique que los tiempos esten ordenados correctamente.") else: ## Se manda al controlador los bombeos y te retorna el ultimo ensayo creado e=ContEnsayo.agregarEnsayo(bombeos, n) if self.demo==True: reply = QtGui.QMessageBox.Ok else: reply = QtGui.QMessageBox.information(self, "Información", "Se ha creado un nuevo ensayo de bombeo en el sistema. El id es: " + str(e.id)) if reply == QtGui.QMessageBox.Ok: print "OK" self.guardar.close() else: print "Escape"