Salome HOME
[PY3] Removing TAB issues
[modules/smesh.git] / src / Tools / Verima / Base / tableMaillages.py
1 from qtsalome import QSqlQuery
2 from tableDeBase import TableDeBase
3
4 class TableMaillages (TableDeBase):
5     def __init__(self):
6         TableDeBase.__init__(self,"Maillages")
7         self.setField(("id","nomMaillage","Script","fichier","idMailleur","Dimension","Seuil CPU","Seuil Ratio","Seuil Taille","Seuil Nb Maille","Commentaire"))
8         self.cols="(nomMaillage,nomScript,medResultat,idMailleur,dimension,seuilCPU,seuilRatio,seuilTaille,seuilNbMaille,commentaire)"
9         self.setTypeField(('int','str','str','str','int','int','int','int','int','int','str'),('id'))
10
11     def createSqlTable(self):
12         query=QSqlQuery()
13         texteQuery ="create table Maillages(id integer primary key autoincrement, nomMaillage varchar(10), "
14         texteQuery+="nomScript varchar(40), medResultat varchar(15), idMailleur int, dimension int,"
15         texteQuery+="seuilCPU int, seuilRatio int, seuilTaille int, seuilNbMaille int, commentaire varchar(60), "
16         texteQuery+="foreign key (idMailleur) references Mailleur(id));"
17         print "creation de TableMaillages : " , query.exec_(texteQuery)
18
19     def getVal(self,idMaillage, nomChamp):
20         query=QSqlQuery()
21         valeur=None
22         texteQuery ='select '+ nomChamp + ' from Maillages  where id=' + str(idMaillage) + ";"
23         query.exec_(texteQuery)
24         while (query.next()) :
25             valeur=query.value(0).toInt()[0]
26         while (query.next()) :
27             print "plusieurs enregistrements dans Maillages pour ",str(idMaillage)
28             exit()
29         return valeur
30
31     def dejaRemplie(self):
32         texteQuery="select * from  Maillages where medResultat='/tmp/tetra.med';"
33         maQuery=QSqlQuery()
34         maQuery.exec_(texteQuery)
35         nb=0
36         while(maQuery.next()): nb=nb+1
37         return nb
38
39     def remplit(self):
40         if self.dejaRemplie():
41             print "table Maillage deja initialisee"
42             return
43 #            self.insereLigneAutoId(('Fiche_7566_TUNNEL', '/home/H77945/CAS_TEST/MAILLEUR/FICHE_7566_TUNNEL/Fiche_7566_TUNNEL.py', '/tmp/Fiche_7566_TUNNEL.med', 3,3,10,10,10,10, 'Maillage d un tunnel'))
44 #            self.insereLigneAutoId(('Fiche_7957_AILETTE', '/home/H77945/CAS_TEST/MAILLEUR/FICHE_7957_AILETTE/Fiche_7957_AILETTE.py', '/tmp/Fiche_7957_AILETTE.med', 1,2,10,10,10,10, 'Maillage d une attache d aillette'))
45
46     def construitListeMaillages(self):
47         maQuery=QSqlQuery()
48         texteQuery="select id, nomScript,medResultat from Maillages;"
49         maQuery.exec_(texteQuery)
50         listeMaillages=[]
51         while(maQuery.next()):
52             listeMaillages.append((maQuery.value(0).toInt()[0], maQuery.value(1).toString(), maQuery.value(2).toString()))
53         return listeMaillages
54
55     def verifieListeMaillages(self,listeMaillage):
56         newListeMaillages=[]
57         maQuery=QSqlQuery()
58         for idM in listeMaillage:
59             texteQuery="select id, nomScript,medResultat from Maillages where id = " + str(idM) +';'
60             maQuery.exec_(texteQuery)
61             maSize=0
62             while(maQuery.next()):
63                 maSize+=1
64                 newListeMaillages.append((maQuery.value(0).toInt()[0], maQuery.value(1).toString(), maQuery.value(2).toString()))
65             if maSize != 1 :
66                 print "impossible de traiter le maillage : ", idM
67         return  newListeMaillages
68
69     def getSeuilsPourMaillage(self,idMaillage):
70         texteQuery="select id,nomMaillage,seuilCPU,seuilRatio,seuilTaille,seuilNbMaille from  Maillages where id = "+ str(idMaillage) +"  ;"
71         maQuery=QSqlQuery()
72         maQuery.exec_(texteQuery)
73         while(maQuery.next()):
74             l1 = maQuery.value(0).toInt()[0]
75             l2 = maQuery.value(1).toString()
76             l3 = maQuery.value(2).toInt()[0]
77             l4 = maQuery.value(3).toInt()[0]
78             l5 = maQuery.value(4).toInt()[0]
79             l6 = maQuery.value(5).toInt()[0]
80         return l1,l2,l3,l4,l5,l6
81
82     def getTous(self):
83         maillagesIdListe=[]; maillagesNomListe=[]
84         texteQuery="select id,nomMaillage from  Maillages order by id;"
85         maQuery=QSqlQuery()
86         maQuery.exec_(texteQuery)
87         while(maQuery.next()):
88             maillagesIdListe.append( maQuery.value(0).toInt()[0])
89             maillagesNomListe.append( maQuery.value(1).toString())
90         return maillagesIdListe, maillagesNomListe
91
92     def getMailleurId(self,idMaillage):
93         texteQuery="select idMailleur from  Maillages where id = "+ str(idMaillage) +"  ;"
94         maQuery=QSqlQuery()
95         print texteQuery
96         print maQuery.exec_(texteQuery)
97         maQuery.exec_(texteQuery)
98         while(maQuery.next()):
99             idMailleur = maQuery.value(0).toInt()[0]
100         return idMailleur