You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.3 KiB
Python
37 lines
1.3 KiB
Python
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
#
|
|
# @author: Giancarlo Panichi
|
|
#
|
|
# Created on 2018/06/15
|
|
#
|
|
import requests
|
|
from .storagehubcommand import StorageHubCommand
|
|
|
|
|
|
class StorageHubCommandItemDownload(StorageHubCommand):
|
|
|
|
def __init__(self, gcubeToken, storageHubUrl, itemId, destinationFile):
|
|
self.gcubeToken = gcubeToken
|
|
self.storageHubUrl = storageHubUrl
|
|
self.itemId = itemId
|
|
self.destinationFile = destinationFile
|
|
|
|
def execute(self):
|
|
print("Execute StorageHubCommandItemDownload")
|
|
print(self.storageHubUrl + "/items/" + self.itemId + "/download?");
|
|
|
|
urlString = self.storageHubUrl + "/items/" + self.itemId + "/download?gcube-token=" + self.gcubeToken
|
|
r = requests.get(urlString)
|
|
print(r.status_code)
|
|
if r.status_code != 200:
|
|
print("Error in execute StorageHubCommandItemDownload: " + r.status_code)
|
|
raise Exception("Error in execute StorageHubCommandItemDownload: " + r.status_code)
|
|
with open(self.destinationFile, 'wb') as file:
|
|
file.write(r.content)
|
|
|
|
def __str__(self):
|
|
return ('StorageHubCommandItemDownload[storageHubUrl=' + str(self.storageHubUrl) +
|
|
', itemId=' + self.itemId +
|
|
', destinationFile=' + self.destinationFile + ']')
|