--- /dev/null
+from PyQt4 import QtSql, QtCore
+from tableDeBase import TableDeBase
+
+class TableMaillages (TableDeBase):
+ def __init__(self):
+ TableDeBase.__init__(self,"Maillages")
+ self.setField(("id","nomMaillage","Script","fichier","idMailleur","Dimension","Seuil CPU","Seuil Ratio","Seuil Taille","Seuil Nb Maille","Commentaire"))
+ self.cols="(nomMaillage,nomScript,medResultat,idMailleur,dimension,seuilCPU,seuilRatio,seuilTaille,seuilNbMaille,commentaire)"
+ self.setTypeField(('int','str','str','str','int','int','int','int','int','int','str'),('id'))
+
+ def createSqlTable(self):
+ query=QtSql.QSqlQuery()
+ texteQuery ="create table Maillages(id integer primary key autoincrement, nomMaillage varchar(10), "
+ texteQuery+="nomScript varchar(40), medResultat varchar(15), idMailleur int, dimension int,"
+ texteQuery+="seuilCPU int, seuilRatio int, seuilTaille int, seuilNbMaille int, commentaire varchar(60), "
+ texteQuery+="foreign key (idMailleur) references Mailleur(id));"
+ print "creation de TableMaillages : " , query.exec_(texteQuery)
+
+ def getVal(self,idMaillage, nomChamp):
+ query=QtSql.QSqlQuery()
+ valeur=None
+ texteQuery ='select '+ nomChamp + ' from Maillages where id=' + str(idMaillage) + ";"
+ query.exec_(texteQuery)
+ while (query.next()) :
+ valeur=query.value(0).toInt()[0]
+ while (query.next()) :
+ print "plusieurs enregistrements dans Maillages pour ",str(idMaillage)
+ exit()
+ return valeur
+
+ def dejaRemplie(self):
+ texteQuery="select * from Maillages where medResultat='/tmp/tetra.med';"
+ maQuery=QtSql.QSqlQuery()
+ maQuery.exec_(texteQuery)
+ nb=0
+ while(maQuery.next()): nb=nb+1
+ return nb
+
+ def remplit(self):
+ if self.dejaRemplie():
+ print "table Maillage deja initialisee"
+ return
+ self.insereLigneAutoId(('tetra', 'Scripts/script1.py', '/tmp/tetra.med', 2,3,5,5,5,5, 'essaiPN'))
+ self.insereLigneAutoId(('MASSIF_M', 'Scripts/excavation.py', '/tmp/MASSIF.new.med', 1,3,5,5,5,5, 'essaiGN'))
+
+ def construitListeMaillages(self):
+ maQuery=QtSql.QSqlQuery()
+ texteQuery="select id, nomScript,medResultat from Maillages;"
+ maQuery.exec_(texteQuery)
+ listeMaillages=[]
+ while(maQuery.next()):
+ listeMaillages.append((maQuery.value(0).toInt()[0], maQuery.value(1).toString(), maQuery.value(2).toString()))
+ return listeMaillages
+
+ def verifieListeMaillages(self,listeMaillage):
+ newListeMaillages=[]
+ maQuery=QtSql.QSqlQuery()
+ for idM in listeMaillage:
+ texteQuery="select id, nomScript,medResultat from Maillages where id = " + str(idM) +';'
+ maQuery.exec_(texteQuery)
+ maSize=0
+ while(maQuery.next()):
+ maSize+=1
+ newListeMaillages.append((maQuery.value(0).toInt()[0], maQuery.value(1).toString(), maQuery.value(2).toString()))
+ if maSize != 1 :
+ print "impossible de traiter le maillage : ", idM
+ return newListeMaillages
+
+ def getTousPourMaillage(self,idMailleur):
+ l1=[]; l2=[]; l3=[]
+ l4=[]; l5=[]; l6=[]
+ texteQuery="select id,nomMaillage,seuilCPU,seuilRatio,seuilTaille,seuilNbMaille from Maillages where idMailleur= "+ str(idMailleur) +" ;"
+ maQuery=QtSql.QSqlQuery()
+ #print texteQuery
+ maQuery.exec_(texteQuery)
+ while(maQuery.next()):
+ l1.append( maQuery.value(0).toInt()[0])
+ l2.append( maQuery.value(1).toString())
+ l3.append( maQuery.value(2).toInt()[0])
+ l4.append( maQuery.value(3).toInt()[0])
+ l5.append( maQuery.value(4).toInt()[0])
+ l6.append( maQuery.value(5).toInt()[0])
+ return l1,l2,l3,l4,l5,l6
+