From 79e22b468a469c96be9a9e732abfcbac0fd9ff22 Mon Sep 17 00:00:00 2001 From: Ryunosuke O'Neil Date: Wed, 17 Dec 2025 21:54:17 +0100 Subject: [PATCH] fix (Interfaces): Dirac().getInputDataCatalog: distinguish correctly between input data policy and input data modules --- src/DIRAC/Interfaces/API/Dirac.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/DIRAC/Interfaces/API/Dirac.py b/src/DIRAC/Interfaces/API/Dirac.py index 3ceabcfc250..c52227dee6d 100755 --- a/src/DIRAC/Interfaces/API/Dirac.py +++ b/src/DIRAC/Interfaces/API/Dirac.py @@ -254,10 +254,9 @@ def getInputDataCatalog( self.log.verbose(localSEList) - if not inputDataPolicy: - inputDataPolicy = Operations().getValue("InputDataPolicy/InputDataModule") - if not inputDataPolicy: - return self._errorReport("Could not retrieve /DIRAC/Operations/InputDataPolicy/InputDataModule for VO") + inputDataModule = Operations().getValue("InputDataPolicy/InputDataModule") + if not inputDataModule: + return self._errorReport("Could not retrieve /DIRAC/Operations/InputDataPolicy/InputDataModule for VO") self.log.info(f"Attempting to resolve data for {siteName}") self.log.verbose("%s" % ("\n".join(lfns))) @@ -286,11 +285,13 @@ def getInputDataCatalog( self.log.verbose(configDict) argumentsDict = {"FileCatalog": resolvedData, "Configuration": configDict, "InputData": lfns} + if inputDataPolicy: + argumentsDict["Job"] = {"InputDataPolicy": inputDataPolicy} if ignoreMissing: argumentsDict["IgnoreMissing"] = True self.log.verbose(argumentsDict) - result = self.objectLoader.loadObject(inputDataPolicy) + result = self.objectLoader.loadObject(inputDataModule) if not result["OK"]: return result module = result["Value"](argumentsDict)