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.7 by spiga, Mon Mar 17 14:00:59 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 193 | Line 207 | class DBinterface:
207          task = common.bossSession.loadTaskByID(1)
208         # task = common.bossSession.loadTaskByName( common.work_space.taskName() )
209          for i in jobs:
210 <            common.bossSession.getRunningInstance(task.jobs[i])
211 <            lines.append(task.jobs[i].runningJob[attr])
210 >            common.bossSession.getRunningInstance(task.jobs[i-1])
211 >            lines.append(task.jobs[i-1].runningJob[attr])
212          return lines
213  
214      def queryDistJob(self, attr):
# Line 202 | Line 216 | class DBinterface:
216          Returns the list of distinct value for a given job attributes
217          '''
218          distAttr=[]
219 <        task = common.bossSession.loadJobDistAttr( 1, attr )
219 >        task = common.bossSession.loadJobDist( 1, attr )
220          for i in task: distAttr.append(i[attr])  
221          return  distAttr
222  
223 +    def queryDistJob_Attr(self, attr_1, attr_2, list):
224 +        '''
225 +        Returns the list of distinct value for a given job attributes
226 +        '''
227 +        distAttr=[]
228 +        task = common.bossSession.loadJobDistAttr( 1, attr_1, attr_2, list )
229 +        for i in task: distAttr.append(i[attr_1])  
230 +        return  distAttr
231 +
232      def queryAttrJob(self, attr, field):
233          '''
234          Returns the list of jobs matching the given attribute
# Line 216 | Line 239 | class DBinterface:
239              matched.append(i[field])
240          return  matched
241  
242 +
243 +    def queryAttrRunJob(self, attr,field):
244 +        '''
245 +        Returns the list of jobs matching the given attribute
246 +        '''
247 +        matched=[]
248 +        task = common.bossSession.loadJobsByRunningAttr(attr)
249 +        for i in task:
250 +            matched.append(i[field])
251 +        return matched

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines