Skip to content

Commit dfc2432

Browse files
authored
Merge pull request #8439 from chrisburr/fix-gfal2-structured-errors
fix: Return structured errors from GFAL2 storage operations
2 parents 1597697 + d3edd75 commit dfc2432

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/DIRAC/Resources/Storage/GFAL2_StorageBase.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -230,8 +230,10 @@ def exists(self, path):
230230
for url in urls:
231231
try:
232232
successful[url] = self.__singleExists(url)
233+
except gfal2.GError as e:
234+
failed[url] = {"error": repr(e), "errno": e.code}
233235
except Exception as e:
234-
failed[url] = repr(e)
236+
failed[url] = {"error": repr(e), "errno": None}
235237

236238
resDict = {"Failed": failed, "Successful": successful}
237239
return resDict
@@ -636,9 +638,10 @@ def getFileMetadata(self, path):
636638
for url in urls:
637639
try:
638640
successful[url] = self._getSingleFileMetadata(url)
639-
641+
except gfal2.GError as e:
642+
failed[url] = {"error": repr(e), "errno": e.code}
640643
except Exception as e:
641-
failed[url] = repr(e)
644+
failed[url] = {"error": repr(e), "errno": None}
642645

643646
return {"Failed": failed, "Successful": successful}
644647

0 commit comments

Comments
 (0)