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('')          
Exemple #2
0
    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)  
Exemple #3
0
    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)
Exemple #4
0
    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]
Exemple #5
0
        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]
Exemple #6
0
    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   
Exemple #7
0
    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
Exemple #8
0
    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"