Exemplo n.º 1
0
  Script.registerSwitch('', 'FixIt', '   Take action to fix the catalogs')
  Script.setUsageMessage('\n'.join([__doc__,
                                    'Usage:',
                                    '  %s [option|cfgfile] [values]' % Script.scriptName, ]))
  dmScript = DMScript()
  dmScript.registerDMSwitches()  # Directory
  Script.parseCommandLine(ignoreErrors=True)
  fixIt = False
  for opt, val in Script.getUnprocessedSwitches():
    if opt == 'FixIt':
      fixIt = True

  # imports
  from DIRAC import gLogger
  from LHCbDIRAC.DataManagementSystem.Client.ConsistencyChecks import ConsistencyChecks
  cc = ConsistencyChecks()
  cc.directories = dmScript.getOption('Directory', [])
  cc.lfns = dmScript.getOption('LFNs', []) + [lfn for arg in Script.getPositionalArgs() for lfn in arg.split(',')]
  bkQuery = dmScript.getBKQuery(visible='All')
  if bkQuery.getQueryDict() != {'Visible': 'All'}:
    bkQuery.setOption('ReplicaFlag', 'All')
    cc.bkQuery = bkQuery
  seList = dmScript.getOption('SEs', [])
  if not seList:
    dmScript.setSEs('Tier1-Archive')
    seList = dmScript.getOption('SEs', [])

  from LHCbDIRAC.DataManagementSystem.Client.CheckExecutors import doCheckSE
  doCheckSE(cc, seList, fixIt)
dmScript = DMScript()
dmScript.registerBKSwitches()
Script.setUsageMessage('\n'.join([
    __doc__.split('\n')[1], 'Usage:',
    '  %s [option|cfgfile] ...' % Script.scriptName
]))
Script.parseCommandLine(ignoreErrors=True)
args = Script.getPositionalArgs()

exitCode = 0

from LHCbDIRAC.BookkeepingSystem.Client.BookkeepingClient import BookkeepingClient

bk = BookkeepingClient()

bkQuery = dmScript.getBKQuery()
if not bkQuery:
    print "No BKQuery given..."
    DIRAC.exit(1)

dict = bkQuery.getQueryDict()
dictItems = ('ConfigName', 'ConfigVersion', 'Production',
             'ConditionDescription', 'ProcessingPass', 'FileType', 'EventType')
for item in dictItems:
    if item not in dict:
        dict[item] = 'ALL'
for item in dict.keys():
    if item not in dictItems:
        dict.pop(item)

print 'BKQuery:', dict