31 if not os.environ.has_key(
'DBS_RELEASE'):
32 os.environ[
'DBS_RELEASE'] =
"Any"
33 if not os.environ.has_key(
'DBS_SAMPLE'):
34 os.environ[
'DBS_SAMPLE'] =
"Any"
35 if not os.environ.has_key(
'DBS_RUN'):
36 os.environ[
'DBS_RUN'] =
"Any"
37 if not os.environ.has_key(
'DBS_TIER_SECONDARY'):
38 os.environ[
'DBS_TIER_SECONDARY'] =
""
39 if not os.environ.has_key(
'DBS_STRATEGY'):
40 os.environ[
'DBS_STRATEGY'] =
"search"
44 if os.environ[
'DBS_STRATEGY'] ==
"local":
47 for line
in open(
'electronDbsDiscovery.txt').readlines():
48 line = os.path.expandvars(line.strip())
49 if line ==
"":
continue
50 if os.environ[
'DBS_SAMPLE'] !=
"Any" and line.find(os.environ[
'DBS_SAMPLE'])== -1:
continue
51 if line.find(os.environ[
'DBS_COND'])== -1:
continue
52 if line.find(dbs_tier)== -1:
continue
53 result.append(
'file:'+line)
55 elif os.environ[
'DBS_STRATEGY'] ==
"castor":
57 castor_dir =
'/castor/cern.ch/cms/store/relval/'+os.environ[
'DBS_RELEASE']+
'/'+os.environ[
'DBS_SAMPLE']+
'/'+os.environ[
'DBS_TIER']+
'/'+os.environ[
'DBS_COND']+
'/'
58 if __name__ ==
"__main__":
59 print 'castor dir:',castor_dir
61 data = os.popen(
'rfdir '+castor_dir)
62 subdirs = data.readlines()
67 subdir = line.split()[8]
68 data = os.popen(
'rfdir '+castor_dir+
'/'+subdir)
69 datalines = data.readlines()
70 for line
in datalines:
72 file = line.split()[8]
74 result.append(
'/store/relval/'+os.environ[
'DBS_RELEASE']+
'/'+os.environ[
'DBS_SAMPLE']+
'/'+os.environ[
'DBS_TIER']+
'/'+os.environ[
'DBS_COND']+
'/'+subdir+
'/'+file)
77 elif os.environ[
'DBS_STRATEGY'] ==
"lsf":
79 dbs_path =
'/'+os.environ[
'DBS_SAMPLE']+
'/'+os.environ[
'DBS_RELEASE']+
'-'+os.environ[
'DBS_COND']+
'/'+os.environ[
'DBS_TIER']+
'"'
80 if __name__ ==
"__main__":
81 print 'dbs path:',dbs_path
82 data = os.popen(
'dbs lsf --path="'+dbs_path+
'"')
83 datalines = data.readlines()
86 for line
in datalines:
88 if line !=
"" and line[0] ==
"/":
95 if os.environ[
'DBS_RELEASE'] !=
"Any":
96 input = input + separator +
"release = " + os.environ[
'DBS_RELEASE']
98 if os.environ[
'DBS_SAMPLE'] !=
"Any":
99 input = input + separator +
"primds = " + os.environ[
'DBS_SAMPLE']
101 if os.environ[
'DBS_RUN'] !=
"Any":
102 input = input + separator +
"run = " + os.environ[
'DBS_RUN']
104 input = input + separator +
"dataset like *" + os.environ[
'DBS_COND'] +
"*" + dbs_tier +
"*"
131 data = os.popen(
'dbs search --url="http://cmsdbsprod.cern.ch/cms_dbs_prod_global/servlet/DBSServlet" --query "'+input+
'"')
132 datalines = data.readlines()
135 for line
in datalines:
137 if line !=
"" and line[0] ==
"/":