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

Comparing COMP/CRAB/python/DataDiscovery_DBS2.py (file contents):
Revision 1.1 by gutsche, Thu Feb 1 16:09:20 2007 UTC vs.
Revision 1.9 by gutsche, Wed Jul 4 00:50:09 2007 UTC

# Line 1 | Line 1
1   #!/usr/bin/env python
2   import exceptions
3 < import DBS2API.dbsApi
4 < from DBS2API.dbsApiException import *
3 > import DBSAPI.dbsApi
4 > from DBSAPI.dbsApiException import *
5   import common
6 + from crab_util import *
7  
8  
9   # #######################################
# Line 90 | Line 91 | class DataDiscovery_DBS2:
91          try:
92              dbs_url=self.cfg_params['CMSSW.dbs_url']
93          except KeyError:
94 <            dbs_url="http://cmsdoc.cern.ch/cms/test/aprom/DBS/CGIServer/prodquery"
94 >            dbs_url="http://cmsdbsprod.cern.ch/cms_dbs_prod_global/servlet/DBSServlet"
95 >
96 >        common.logger.debug(3,"Accessing DBS at: "+dbs_url)
97 >
98 >        ## check if runs are selected
99 >        try:
100 >            runselection = parseRange2(self.cfg_params['CMSSW.runselection'])
101 >        except:
102 >            runselection = []
103  
104          ## service API
105          args = {}
106 <        args['url']=dbs_url
107 <
99 <        common.logger.debug(3,"Accessing DBS at: "+dbs_url)
106 >        args['url']     = dbs_url
107 >        args['level']   = 'CRITICAL'
108  
109 <        api = DBS2API.dbsApi.DbsApi(args)
109 >        api = DBSAPI.dbsApi.DbsApi(args)
110          try:
111 <            files = api.listFiles(self.datasetPath)
111 >            if len(runselection) <= 0 :
112 >                files = api.listDatasetFiles(self.datasetPath)
113 >            else :
114 >                files = api.listFiles(path=self.datasetPath, details=True)
115          except DbsBadRequest, msg:
116 <            raise DataDiscoveryError(msg)
116 >            raise DataDiscoveryError_DBS2(msg)
117          except DBSError_DBS2, msg:
118 <            raise DataDiscoveryError(msg)
119 <        
118 >            raise DataDiscoveryError_DBS2(msg)
119 >
120          # parse files and fill arrays
121          for file in files :
122              filename = file['LogicalFileName']
123 <            events = file['NumberOfEvents']
124 <            fileblock = file['Block']['Name']
125 <
126 <            # number of events per block
127 <            if fileblock in self.eventsPerBlock.keys() :
128 <                self.eventsPerBlock[fileblock] += events
129 <            else :
130 <                self.eventsPerBlock[fileblock] = events
131 <
132 <            # number of events per file
133 <            self.eventsPerFile[filename] = events
123 >            if filename.find('.dat') < 0 :
124 >                fileblock = file['Block']['Name']
125 >                events    = file['NumberOfEvents']
126 >                continue_flag = 0
127 >                if len(runselection) > 0 :
128 >                    runslist = file['RunsList']
129 >                    for run in runslist :
130 >                        runnumber = run['RunNumber']
131 >                        for selected_run in runselection :
132 >                            if runnumber == selected_run :
133 >                                continue_flag = 1
134 >                else :
135 >                    continue_flag = 1
136 >
137 >                if continue_flag == 1 :
138 >                    # number of events per block
139 >                    if fileblock in self.eventsPerBlock.keys() :
140 >                        self.eventsPerBlock[fileblock] += events
141 >                    else :
142 >                        self.eventsPerBlock[fileblock] = events
143 >
144 >                    # number of events per file
145 >                    self.eventsPerFile[filename] = events
146 >
147 >                    # number of events per block
148 >                    if fileblock in self.blocksinfo.keys() :
149 >                        self.blocksinfo[fileblock].append(filename)
150 >                    else :
151 >                        self.blocksinfo[fileblock] = [filename]
152  
153 <            # number of events per block
154 <            if fileblock in self.blocksinfo.keys() :
126 <                self.blocksinfo[fileblock].append(filename)
127 <            else :
128 <                self.blocksinfo[fileblock] = [filename]
153 >                    # total number of events
154 >                    self.maxEvents += events
155  
156 <            # total number of events
157 <            self.maxEvents += events
156 >        for block in self.eventsPerBlock.keys() :
157 >            common.logger.debug(6,"DBSInfo: total nevts %i in block %s "%(self.eventsPerBlock[block],block))
158  
159          if len(self.eventsPerBlock) <= 0:
160 <            raise NotExistingDatasetError (("\nNo data for %s in DBS\nPlease check"
160 >            raise NotExistingDatasetError_DBS2 (("\nNo data for %s in DBS\nPlease check"
161                                              + " dataset path variables in crab.cfg")
162                                              % self.datasetPath)
163  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines