Replaced spaces with dashes in resource_id generation
Fixed track preview and download signed urls Removed cloud_storage_deleter.py file Changed cloud_storage settings in airtime.conf
This commit is contained in:
parent
a10e287368
commit
544d20ebc2
7 changed files with 47 additions and 75 deletions
|
@ -15,6 +15,13 @@ class CloudStorageUploader:
|
|||
def upload_obj(self, audio_file_path, metadata):
|
||||
file_base_name = os.path.basename(audio_file_path)
|
||||
file_name, extension = os.path.splitext(file_base_name)
|
||||
|
||||
'''
|
||||
With Amazon S3 you cannot create a signed url if there are spaces
|
||||
in the object name. URL encoding the object name doesn't solve the
|
||||
problem. As a solution we will replace spaces with dashes.
|
||||
'''
|
||||
file_name = file_name.replace(" ", "-")
|
||||
object_name = "%s_%s%s" % (file_name, str(uuid.uuid4()), extension)
|
||||
|
||||
cls = get_driver(getattr(Provider, self._provider))
|
||||
|
@ -25,8 +32,7 @@ class CloudStorageUploader:
|
|||
except ContainerDoesNotExistError:
|
||||
container = driver.create_container(self._bucket)
|
||||
|
||||
extra = {'meta_data': {'filename': file_base_name},
|
||||
'acl': 'public-read-write'}
|
||||
extra = {'meta_data': {'filename': file_base_name}}
|
||||
|
||||
obj = driver.upload_object(file_path=audio_file_path,
|
||||
container=container,
|
||||
|
|
|
@ -1,28 +0,0 @@
|
|||
#!/usr/bin/python
|
||||
|
||||
import sys
|
||||
import simplejson
|
||||
|
||||
from libcloud.storage.providers import get_driver
|
||||
from libcloud.storage.types import Provider, ObjectDoesNotExistError
|
||||
|
||||
provider = str(sys.argv[1])
|
||||
bucket = str(sys.argv[2])
|
||||
api_key = str(sys.argv[3])
|
||||
api_key_secret = str(sys.argv[4])
|
||||
obj_name = str(sys.argv[5])
|
||||
|
||||
cls = get_driver(getattr(Provider, provider))
|
||||
driver = cls(api_key, api_key_secret)
|
||||
|
||||
try:
|
||||
cloud_obj = driver.get_object(container_name=bucket,
|
||||
object_name=obj_name)
|
||||
filesize = getattr(cloud_obj, 'size')
|
||||
driver.delete_object(obj=cloud_obj)
|
||||
|
||||
data = simplejson.dumps({"filesize": filesize})
|
||||
print data
|
||||
except ObjectDoesNotExistError:
|
||||
raise Exception("Could not find object on %s in bucket: %s and object: %s" % (provider, bucket, obj_name))
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue