Skip to content

Commit

Permalink
add check on Deleted status
Browse files Browse the repository at this point in the history
  • Loading branch information
arrabito committed Aug 21, 2024
1 parent 2a2d746 commit 42a3ae0
Showing 1 changed file with 31 additions and 0 deletions.
31 changes: 31 additions & 0 deletions src/DIRAC/TransformationSystem/DB/TransformationDB.py
Original file line number Diff line number Diff line change
Expand Up @@ -1138,6 +1138,9 @@ def __addMetaQuery(self, transID, queryDict, queryType, author="", connection=Fa
if isinstance(parameterValue, int):
parameterType = "Integer"
parameterValue = str(parameterValue)
if isinstance(parameterValue, float):
parameterType = "Float"
parameterValue = str(parameterValue)
if isinstance(parameterValue, dict):
parameterType = "Dict"
parameterValue = str(parameterValue)
Expand Down Expand Up @@ -1617,6 +1620,20 @@ def addFile(self, fileDicts, force=False, connection=False):
gLogger.info("Files to add to transformations:", filesToAdd)
if filesToAdd:
for transID, lfns in transFiles.items():
# Check if file is already in the Transformation and if is in Deleted Status
res = self.getTransformationFiles(
condDict={"TransformationID": transID, "LFN": lfns}, connection=connection
)
if not res["OK"]:
return res
fileIDs = []
for fileDict in res["Value"]:
fileIDs.append(fileDict["FileID"])
if fileDict["Status"] == "Deleted":
res = self.__setTransformationFileStatus(list(fileIDs), "Unused", connection=connection)
if not res["OK"]:
return res

res = self.addFilesToTransformation(transID, lfns)
if not res["OK"]:
gLogger.error("Failed to add files to transformation", f"{transID} {res['Message']}")
Expand Down Expand Up @@ -1747,6 +1764,20 @@ def setMetadata(self, path, usermetadatadict):
gLogger.info("Files to add to transformations:", filesToAdd)
if filesToAdd:
for transID, lfns in transFiles.items():
# Check if file is already in the Transformation and if is in Deleted Status
res = self.getTransformationFiles(
condDict={"TransformationID": transID, "LFN": lfns}, connection=connection
)
if not res["OK"]:
return res
fileIDs = []
for fileDict in res["Value"]:
fileIDs.append(fileDict["FileID"])
if fileDict["Status"] == "Deleted":
res = self.__setTransformationFileStatus(list(fileIDs), "Unused", connection=connection)
if not res["OK"]:
return res

res = self.addFilesToTransformation(transID, lfns)
if not res["OK"]:
gLogger.error("Failed to add files to transformation", f"{transID} {res['Message']}")
Expand Down

0 comments on commit 42a3ae0

Please sign in to comment.