Skip to content

Commit f7f849c

Browse files
committed
fix (DMS.directory-sync): more use of returnSingleResult and log/error copy paste fixes
1 parent 66c5041 commit f7f849c

File tree

1 file changed

+8
-39
lines changed

1 file changed

+8
-39
lines changed

src/DIRAC/DataManagementSystem/scripts/dirac_dms_directory_sync.py

Lines changed: 8 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -218,26 +218,6 @@ def removeRemoteFiles(dm, lfns):
218218
else:
219219
return S_OK()
220220

221-
def uploadLocalFile(dm, lfn, localfile, storage):
222-
"""
223-
Upload a local file to a storage element
224-
"""
225-
res = returnSingleResult(dm.putAndRegister(lfn, localfile, storage, None))
226-
if not res["OK"]:
227-
return S_ERROR("Error: failed to upload %s to %s: %s" % (lfn, storage, res["Message"]))
228-
else:
229-
return S_OK("Successfully uploaded file to %s" % storage)
230-
231-
def downloadRemoteFile(dm, lfn, destination):
232-
"""
233-
Download a file from the system
234-
"""
235-
res = dm.getFile(lfn, destination)
236-
if not res["OK"]:
237-
return S_ERROR("Error: failed to download %s " % lfn)
238-
else:
239-
return S_OK("Successfully uploaded file %s" % lfn)
240-
241221
def removeStorageDirectoryFromSE(directory, storageElement):
242222
"""
243223
Delete directory on selected storage element
@@ -275,19 +255,6 @@ def removeRemoteDirectory(fc, lfn):
275255

276256
return S_OK("Successfully removed directory")
277257

278-
def createRemoteDirectory(fc, newdir):
279-
"""
280-
Create directory in file catalog
281-
"""
282-
result = fc.createDirectory(newdir)
283-
if result["OK"]:
284-
if result["Value"]["Successful"] and newdir in result["Value"]["Successful"]:
285-
return S_OK("Successfully created directory:" + newdir)
286-
elif result["Value"]["Failed"] and newdir in result["Value"]["Failed"]:
287-
return S_ERROR("Failed to create directory: " + result["Value"]["Failed"][newdir])
288-
else:
289-
return S_ERROR("Failed to create directory:" + result["Message"])
290-
291258
def createLocalDirectory(directory):
292259
"""
293260
Create local directory
@@ -304,7 +271,7 @@ def removeLocalFile(path):
304271
try:
305272
os.remove(path)
306273
except OSError as e:
307-
return S_ERROR("Directory creation failed:" + e.strerror)
274+
return S_ERROR("File deletion failed:" + e.strerror)
308275

309276
if os.path.isfile(path):
310277
return S_ERROR("File deleting failed")
@@ -346,7 +313,7 @@ def doUpload(fc, dm, result, source_dir, dest_dir, storage, delete, nthreads):
346313
gLogger.notice("Deleting " + directoryname + " -> [DONE]")
347314

348315
for directoryname in result["Value"]["Create"]["Directories"]:
349-
res = createRemoteDirectory(fc, dest_dir + "/" + directoryname)
316+
res = returnSingleResult(fc.createDirectory(dest_dir + "/" + directoryname))
350317
if not res["OK"]:
351318
gLogger.fatal("Creation of directory: " + directoryname + " -X- [FAILED] " + res["Message"])
352319
DIRAC.exit(1)
@@ -377,10 +344,11 @@ def uploadListOfFiles(dm, source_dir, dest_dir, storage, listOfFiles, tID):
377344
log = gLogger.getLocalSubLogger("[Thread %s] " % tID)
378345
threadLine = "[Thread %s]" % tID
379346
for filename in listOfFiles:
380-
res = uploadLocalFile(dm, dest_dir + "/" + filename, source_dir + "/" + filename, storage)
347+
destLFN = os.path.join(dest_dir, filename)
348+
res = returnSingleResult(dm.putAndRegister(destLFN, source_dir + "/" + filename, storage, None))
381349
if not res["OK"]:
382350
log.fatal(threadLine + " Uploading " + filename + " -X- [FAILED] " + res["Message"])
383-
listOfFailedFiles.append("%s: %s" % (filename, res["Message"]))
351+
listOfFailedFiles.append("%s: %s" % (destLFN, res["Message"]))
384352
else:
385353
log.notice(threadLine + " Uploading " + filename + " -> [DONE]")
386354

@@ -454,10 +422,11 @@ def downloadListOfFiles(dm, source_dir, dest_dir, listOfFiles, tID):
454422
log = gLogger.getLocalSubLogger("[Thread %s] " % tID)
455423
threadLine = "[Thread %s]" % tID
456424
for filename in listOfFiles:
457-
res = downloadRemoteFile(dm, source_dir + "/" + filename, dest_dir + ("/" + filename).rsplit("/", 1)[0])
425+
sourceLFN = os.path.join(source_dir, filename)
426+
res = returnSingleResult(dm.getFile(sourceLFN, dest_dir + ("/" + filename).rsplit("/", 1)[0]))
458427
if not res["OK"]:
459428
log.fatal(threadLine + " Downloading " + filename + " -X- [FAILED] " + res["Message"])
460-
listOfFailedFiles.append("%s: %s" % (filename, res["Message"]))
429+
listOfFailedFiles.append("%s: %s" % (sourceLFN, res["Message"]))
461430
else:
462431
log.notice(threadLine + " Downloading " + filename + " -> [DONE]")
463432

0 commit comments

Comments
 (0)