@@ -4,8 +4,8 @@ import urllib2,urllib, httplib, sys, re, os, json, phedexSubscription
4
4
from xml .dom .minidom import getDOMImplementation
5
5
from das_client import get_data
6
6
#das_host='https://das.cern.ch'
7
- das_host = 'https://cmsweb.cern.ch'
8
- # das_host='https://cmsweb-testbed.cern.ch'
7
+ # das_host='https://cmsweb.cern.ch'
8
+ das_host = 'https://cmsweb-testbed.cern.ch'
9
9
#das_host='https://das-dbs3.cern.ch'
10
10
11
11
def getWorkflowType (url , workflow ):
@@ -177,7 +177,7 @@ def getEventCountDataSet(das_url, dataset):
177
177
else :
178
178
result = das_data
179
179
if result ['status' ] == 'fail' :
180
- print 'DAS query failed with reason:' ,result ['reason' ]
180
+ print 'DAS query' + query + ' failed with reason:' ,result ['reason' ]
181
181
else :
182
182
if len (result ['data' ])== 0 :#dataset not yet registered in DBS
183
183
return 0
@@ -300,7 +300,8 @@ def getEventsBlock(das_url, block_name):
300
300
else :
301
301
result = das_data
302
302
if result ['status' ] == 'fail' :
303
- print 'DAS query failed with reason:' ,result ['reason' ]
303
+ print 'DAS quert ' , query
304
+ print 'failed with reason:' ,result ['reason' ]
304
305
else :
305
306
if len (result ['data' ])== 0 :#dataset not yet registered in DBS
306
307
return 0
@@ -408,15 +409,13 @@ def getInputEvents(url, workflow):
408
409
if requestType == 'TaskChain' :
409
410
return handleTaskChain (request )
410
411
#In case some parameters miss in the request like blockwhitelist, blockblack list and so on or it was injected as a string.
411
- BlockWhitelist = []
412
- BlockBlacklist = []
413
- runWhitelist = []
414
- runBlacklist = []
415
412
for listitem in ["RunWhitelist" , "RunBlacklist" , "BlockWhitelist" ,
416
413
"BlockBlacklist" ]:
417
414
if listitem in request :
418
415
if request [listitem ]== '[]' :
419
416
request [listitem ]= []
417
+ if type (request [listitem ]) is not list :#if there is not a list but just one element we convert it to a list with one element.
418
+ request [listitem ]= re .split (r"," ,request [listitem ])
420
419
else :
421
420
request [listitem ]= []
422
421
inputDataSet = request ['InputDataset' ]
@@ -430,12 +429,12 @@ def getInputEvents(url, workflow):
430
429
else :
431
430
return getRunLumiCountDataset (das_host , request ['InputDataset' ])
432
431
events = getEventCountDataSet (das_host , request ['InputDataset' ])
433
- if len (BlockBlacklist )> 0 :
434
- events = events - EventsBlockList (request ['InputDataset' ], request ['BlockBlacklist' ])
435
- if len (runWhitelist )> 0 :
436
- events = EventsRunList (das_host , request ['InputDataset' ], request ['RunWhitelist' ])
437
- if len (BlockWhitelist )> 0 :
438
- events = EventsBlockList (das_host , request ['InputDataset' ], request ['BlockWhitelist' ])
432
+ if len (request [ ' BlockBlacklist' ] )> 0 :
433
+ events = events - EventsBlockList (request ['InputDataset' ], request ['BlockBlacklist' ])
434
+ if len (request [ 'RunWhitelist' ] )> 0 :
435
+ events = EventsRunList (das_host , request ['InputDataset' ], request ['RunWhitelist' ])
436
+ if len (request [ ' BlockWhitelist' ] )> 0 :
437
+ events = EventsBlockList (das_host , request ['InputDataset' ], request ['BlockWhitelist' ])
439
438
if 'FilterEfficiency' in request .keys ():
440
439
return float (request ['FilterEfficiency' ])* events
441
440
else :
0 commit comments