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