Salome HOME
02d23516e2ccd4c9b0a06008086cfea20a3688a3
[modules/smesh.git] / src / Tools / Verima / Base / tableVersions.py
1 from PyQt4 import QtSql, QtCore
2 from tableDeBase import TableDeBase
3
4 class TableVersions (TableDeBase):
5         def __init__(self):
6             TableDeBase.__init__(self,"Versions")
7             self.setField(("id","nomVersion","Reference"))
8             self.setTypeField(('int','str','str'),("id"))
9             self.cols=" (nomVersion, ref) "
10
11         def createSqlTable(self):
12             query=QtSql.QSqlQuery()
13             texteQuery ="create table Versions(id integer primary key autoincrement, nomVersion varchar(10),"
14             texteQuery+="ref varchar(3));"
15             print "Creation de TableVersions : " , query.exec_(texteQuery)
16
17         def dejaRemplie(self):
18             texteQuery="select * from  Versions where nomVersion='Salome6.6';"
19             maQuery=QtSql.QSqlQuery()
20             maQuery.exec_(texteQuery)
21             nb=0
22             while(maQuery.next()): nb=nb+1
23             return nb
24
25         def remplit(self):
26 #PN         pour tester
27             if self.dejaRemplie():
28                print "Table des Versions deja initialisee"
29                return
30             self.insereLigneAutoId(('Salome6.6','non'))
31             self.insereLigneAutoId(('Salome7.3','oui'))
32
33         def creeVersion(self,version):
34             self.insereLigneAutoId((version,'non'))
35
36         
37         def chercheVersion(self,version):
38             query=QtSql.QSqlQuery()
39             version=str(version)
40             if QtCore.QString(version).toInt()[1]==True :
41                texteQuery ="select id, nomVersion from Versions where id = " + str(version) +";"
42             else:
43                texteQuery ="select id, nomVersion from Versions where nomVersion ='" + version +"' ;"
44             query.exec_(texteQuery)
45             nb=0
46             while(query.next()):
47                nb=nb+1
48                id=query.value(0).toInt()[0]
49                nom=query.value(1).toString()
50             if nb != 1 : return 0, 0, ""
51             return  1, id, nom
52
53         def remplaceVersion(self,version):
54             bOk,versionId,versionName = self.chercheVersion(version)
55             if bOk == 0 : return "La version choisie comme version de reference n est pas dans la base"
56             query=QtSql.QSqlQuery()
57             texteQuery ='update Versions set ref="non" where ref="oui";'
58             query.exec_(texteQuery)
59             texteQuery ='update Versions set ref="oui"where id='+str(versionId)+";"
60             query.exec_(texteQuery)
61             return "changement effectue"
62            
63         def getVersionRef(self):
64             query=QtSql.QSqlQuery()
65             texteQuery ='select id from Versions  where ref="oui";'
66             query.exec_(texteQuery)
67             while (query.next()) : 
68                id=query.value(0).toInt()[0]
69             while (query.next()) :
70                print "Base corrompue : plusieurs versions de reference"
71                exit()
72             return id
73