RemoveFile

mod:RemoveFile

synopsis:removeFile operation handler

removeFile operation handler

class DIRAC.DataManagementSystem.Agent.RequestOperations.RemoveFile.RemoveFile(operation=None, csPath=None)

Bases: DIRAC.DataManagementSystem.Agent.RequestOperations.DMSRequestOperationsBase.DMSRequestOperationsBase

class RemoveFile

remove file operation handler

__init__(operation=None, csPath=None)

c’tor

Parameters:
  • self – self reference
  • operation (Operation) – Operation to execute
  • csPath (str) – CS path for this handler
bulkRemoval(toRemoveDict)

bulk removal using request owner DN

Parameters:toRemoveDict (dict) – { lfn: opFile, … }
Returns:S_ERROR or S_OK( { lfn: opFile, … } ) – dict with files still waiting to be removed
checkSEsRSS(checkSEs=None, access='WriteAccess', failIfBanned=True)

check SEs. By default, we check the SEs for WriteAccess, but it is configurable

getProxyForLFN(lfn)

get proxy for lfn

Parameters:lfn (str) – LFN
Returns:S_ERROR or S_OK( “/path/to/proxy/file” )
getRegisterOperation(opFile, targetSE, type='RegisterFile', catalog=None)

add RegisterReplica operation for file

Parameters:
  • opFile (File) – operation file
  • targetSE (str) – target SE
getWaitingFilesList()

prepare waiting files list, update Attempt, filter out MaxAttempt

makeProperty(name, value, readOnly=False)

Add property :name: to class

This also creates a private :_name: attribute If you want to make read only property, set :readOnly: flag to True :warn: could raise AttributeError if :name: of :_name: is already defined as an attribute

classmethod rssClient()

ResourceStatusClient getter

rssSEStatus(se, status, retries=2)

check SE :se: for status :status:

Parameters:
  • se (str) – SE name
  • status (str) – RSS status
setOperation(operation)

operation and request setter

Parameters:operation (Operation) – operation instance
Raises:TypeError – if operation in not an instance of Operation
shifter
singleRemoval(opFile)

remove single file

Parameters:opFile – File instance