def do_replicate(self,args): """ Replicate a given file to a given SE usage: replicate <LFN> <SE> [<SourceSE>] """ argss = args.split() if len(args) < 2: print "Error: unsufficient number of arguments" lfn = argss[0] lfn = self.getPath(lfn) se = argss[1] sourceSE = '' if len(argss)>2: sourceSE=argss[2] if len(argss)>3: localCache=argss[3] try: dirac = Dirac() result = dirac.replicateFile(lfn,se,sourceSE,printOutput=True) if not result['OK']: print 'Error: %s' %(result['Message']) elif not result['Value']: print "Replica is already present at the target SE" else: print "File %s successfully replicated to the %s SE" % (lfn,se) except Exception, x: print "Error: replicate failed with exception: ", x
def main(): # Registering arguments will automatically add their description to the help menu Script.registerArgument( "LFN: Logical File Name or file containing LFNs") Script.registerArgument("Dest: Valid DIRAC SE") Script.registerArgument("Source: Valid DIRAC SE", default="", mandatory=False) Script.registerArgument("Cache: Local directory to be used as cache", default="", mandatory=False) _, args = Script.parseCommandLine(ignoreErrors=True) if len(args) > 4: Script.showHelp(exitCode=1) lfn, seName, sourceSE, localCache = Script.getPositionalArgs(group=True) from DIRAC.Interfaces.API.Dirac import Dirac dirac = Dirac() exitCode = 0 try: f = open(lfn, "r") lfns = f.read().splitlines() f.close() except Exception: lfns = [lfn] finalResult = {"Failed": [], "Successful": []} for lfn in lfns: result = dirac.replicateFile(lfn, seName, sourceSE, localCache, printOutput=True) if not result["OK"]: finalResult["Failed"].append(lfn) print("ERROR %s" % (result["Message"])) exitCode = 2 else: finalResult["Successful"].append(lfn) if len(lfns) > 1: print(finalResult) DIRAC.exit(exitCode)
def main(): Script.parseCommandLine(ignoreErrors=True) args = Script.getPositionalArgs() if len(args) < 2 or len(args) > 4: Script.showHelp(exitCode=1) lfn = args[0] seName = args[1] sourceSE = '' localCache = '' if len(args) > 2: sourceSE = args[2] if len(args) == 4: localCache = args[3] from DIRAC.Interfaces.API.Dirac import Dirac dirac = Dirac() exitCode = 0 try: f = open(lfn, 'r') lfns = f.read().splitlines() f.close() except BaseException: lfns = [lfn] finalResult = {"Failed": [], "Successful": []} for lfn in lfns: result = dirac.replicateFile(lfn, seName, sourceSE, localCache, printOutput=True) if not result['OK']: finalResult["Failed"].append(lfn) print('ERROR %s' % (result['Message'])) exitCode = 2 else: finalResult["Successful"].append(lfn) if len(lfns) > 1: print(finalResult) DIRAC.exit(exitCode)
if len(args) > 2: sourceSE = args[2] if len(args) == 4: localCache = args[3] from DIRAC.Interfaces.API.Dirac import Dirac dirac = Dirac() exitCode = 0 try: f = open(lfn, 'r') lfns = f.read().splitlines() f.close() except BaseException: lfns = [lfn] finalResult = {"Failed": [], "Successful": []} for lfn in lfns: result = dirac.replicateFile(lfn, seName, sourceSE, localCache, printOutput=True) if not result['OK']: finalResult["Failed"].append(lfn) print('ERROR %s' % (result['Message'])) exitCode = 2 else: finalResult["Successful"].append(lfn) if len(lfns) > 1: print(finalResult) DIRAC.exit(exitCode)
if len( args ) > 2: sourceSE = args[2] if len( args ) == 4: localCache = args[3] from DIRAC.Interfaces.API.Dirac import Dirac dirac = Dirac() exitCode = 0 try: f = open( lfn, 'r' ) lfns = f.read().splitlines() f.close() except: lfns = [lfn] finalResult = {"Failed":[], "Successful":[]} for lfn in lfns: result = dirac.replicateFile( lfn, seName, sourceSE, localCache, printOutput = True ) if not result['OK']: finalResult["Failed"].append( lfn ) print 'ERROR %s' % ( result['Message'] ) exitCode = 2 else: finalResult["Successful"].append( lfn ) if len( lfns ) > 1: print finalResult DIRAC.exit( exitCode )
def replicateFile(lfn, seName, printOutput=True): dirac = Dirac() result = dirac.replicateFile(lfn, seName, printOutput=True) return result