ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CRAB/python/DBinterface.py
(Generate patch)

Comparing COMP/CRAB/python/DBinterface.py (file contents):
Revision 1.3 by spiga, Wed Mar 5 10:15:00 2008 UTC vs.
Revision 1.8 by farinafa, Mon Mar 17 17:42:53 2008 UTC

# Line 38 | Line 38 | class DBinterface:
38          dbConfig = {'dbName':dbname
39              }
40          common.bossSession = BossLiteAPI( self.db_type, dbConfig)
41 <        
41 >        self.task = common.bossSession.loadTaskByID(1)
42          return
43 +
44 +    def getTask(self, jobsList='all'): #, cfg_params):
45 +
46 +        #if jobsList == 'all':
47 +        #    self.task = common.bossSession.loadTaskByID(1)
48 +        #else:
49 +        #self.task = common.bossSession.load('1','5')  
50 +        #return self.task[0]
51 +        self.task = common.bossSession.loadTaskByID(1)
52 +        return self.task
53  
54 +    def getJob(self, n):
55 +
56 +        self.job = common.bossSession.loadJobByID(1,n)
57 +        return self.job
58  
59  
60      def createTask_(self, optsToSave):      
61          """
62          Task declaration
63          with the first coniguration stuff
64 <         {'server_name': 'crabas.lnl.infn.it/data1/cms/', '-scheduler': 'glite', '-jobtype': 'cmssw', '-server_mode': '0'}
64 >        {'server_name': 'crabas.lnl.infn.it/data1/cms/', '-scheduler': 'glite', '-jobtype': 'cmssw', '-server_mode': '0'}
65  
66          """
67          opt={}
68          if optsToSave['server_mode'] == 1: opt['serverName']=optsToSave['server_name']
55        opt['jobType']=optsToSave['jobtype']  
69          opt[ 'name']=common.work_space.taskName()  
70          task = Task( opt )
71        
72          common.bossSession.saveTask( task )
60        #common.bossSession.updateDB( task )
73          return
74  
75      def updateTask_(self,optsToSave):      
# Line 94 | Line 106 | class DBinterface:
106          """
107          task = common.bossSession.loadTaskByID(1)
108          #task = common.bossSession.loadTaskByName( common.work_space.taskName())
109 <        jobs = common.bossSession.loadJob(task['id'],nj+1)
110 <        for key in optsToSave.keys():
111 <            jobs[key] = optsToSave[key]
112 <            common.bossSession.updateDB( jobs )
109 >        for i in range(len(nj)):
110 >           # jobs = common.bossSession.loadJob(task['id'],i)
111 >            for key in optsToSave[i].keys():
112 >                task.jobs[i][key] = optsToSave[i][key]
113 >        common.bossSession.updateDB( task )
114          return
115  
116      def updateRunJob_(self, nj, optsToSave):      
# Line 106 | Line 119 | class DBinterface:
119          """
120          task = common.bossSession.loadTaskByID(1)
121          #task = common.bossSession.loadTaskByName( common.work_space.taskName())
122 <        common.bossSession.getRunningInstance(task.jobs[nj])
123 <        for key in optsToSave.keys():
124 <            task.jobs[nj].runningJob[key] = optsToSave[key]
122 >        for i in nj:
123 >            common.bossSession.getRunningInstance(task.jobs[i])
124 >            for key in optsToSave.keys():
125 >                task.jobs[i].runningJob[key] = optsToSave[key]
126          common.bossSession.updateDB( task )
127          return
128  
# Line 143 | Line 157 | class DBinterface:
157  
158       #   displayReport(header, lines):
159          return      
160 +
161 +    def serializeTask(self, tmp_task = None):
162 +        if tmp_task is None:
163 +            tmp_task = common.bossSession.loadTaskByID(1)
164 +        return common.bossSession.serialize(tmp_task)  
165  
166      def queryID(self,server_mode=0):
167          '''
# Line 193 | Line 212 | class DBinterface:
212          task = common.bossSession.loadTaskByID(1)
213         # task = common.bossSession.loadTaskByName( common.work_space.taskName() )
214          for i in jobs:
215 <            common.bossSession.getRunningInstance(task.jobs[i])
216 <            lines.append(task.jobs[i].runningJob[attr])
215 >            common.bossSession.getRunningInstance(task.jobs[i-1])
216 >            lines.append(task.jobs[i-1].runningJob[attr])
217          return lines
218  
219      def queryDistJob(self, attr):
# Line 202 | Line 221 | class DBinterface:
221          Returns the list of distinct value for a given job attributes
222          '''
223          distAttr=[]
224 <        task = common.bossSession.loadJobDistAttr( 1, attr )
224 >        task = common.bossSession.loadJobDist( 1, attr )
225          for i in task: distAttr.append(i[attr])  
226          return  distAttr
227  
228 +    def queryDistJob_Attr(self, attr_1, attr_2, list):
229 +        '''
230 +        Returns the list of distinct value for a given job attributes
231 +        '''
232 +        distAttr=[]
233 +        task = common.bossSession.loadJobDistAttr( 1, attr_1, attr_2, list )
234 +        for i in task: distAttr.append(i[attr_1])  
235 +        return  distAttr
236 +
237      def queryAttrJob(self, attr, field):
238          '''
239          Returns the list of jobs matching the given attribute
# Line 216 | Line 244 | class DBinterface:
244              matched.append(i[field])
245          return  matched
246  
247 +
248 +    def queryAttrRunJob(self, attr,field):
249 +        '''
250 +        Returns the list of jobs matching the given attribute
251 +        '''
252 +        matched=[]
253 +        task = common.bossSession.loadJobsByRunningAttr(attr)
254 +        for i in task:
255 +            matched.append(i[field])
256 +        return matched

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines