Skip to content
Snippets Groups Projects
Commit 3f5fcea5 authored by sveseli's avatar sveseli
Browse files

better error handling in case transfer fails for any reason

parent e42794d2
No related branches found
No related tags found
No related merge requests found
...@@ -55,21 +55,23 @@ class FileRestApi(DsRestApi): ...@@ -55,21 +55,23 @@ class FileRestApi(DsRestApi):
self.logger.info('Authorizing download for user %s (experiment: %s)' % (username, experimentName)) self.logger.info('Authorizing download for user %s (experiment: %s)' % (username, experimentName))
responseDict = self.sendSessionRequest(url=url, method='POST') responseDict = self.sendSessionRequest(url=url, method='POST')
experiment = Experiment(responseDict) experiment = Experiment(responseDict)
storageDirectory = experiment.get('storageDirectory')
storageHost = experiment.get('storageHost')
src = '%s@%s:%s' % (username, storageHost, storageDirectory)
if experimentFilePath:
src = '%s/%s' % (src, experimentFilePath)
dest = destDirectory
# Download
fileTransfer = RsyncFileTransfer(src=src, dest=dest)
self.logger.info('Executing file download on behalf of %s (experiment: %s)' % (username, experimentName))
fileTransfer.execute()
# Finalize download # Download
self.logger.info('Deleting download authorization for user %s (experiment: %s)' % (username, experimentName)) try:
self.sendSessionRequest(url=url, method='DELETE') storageDirectory = experiment.get('storageDirectory')
storageHost = experiment.get('storageHost')
src = '%s@%s:%s' % (username, storageHost, storageDirectory)
if experimentFilePath:
src = '%s/%s' % (src, experimentFilePath)
dest = destDirectory
fileTransfer = RsyncFileTransfer(src=src, dest=dest)
self.logger.info('Executing file download on behalf of %s (experiment: %s)' % (username, experimentName))
fileTransfer.execute()
finally:
# Finalize download
self.logger.info('Deleting download authorization for user %s (experiment: %s)' % (username, experimentName))
self.sendSessionRequest(url=url, method='DELETE')
####################################################################### #######################################################################
# Testing. # Testing.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment