From 9a5de18443df4d853940b98f4eb8cc3f26f80ea7 Mon Sep 17 00:00:00 2001 From: Alexey Vasilyev Date: Fri, 16 Oct 2015 16:17:03 +0200 Subject: [PATCH 1/3] upgrade libcloud to 0.18.0, and fix upload of FileStorage object --- flask_cloudy.py | 4 ++-- setup.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/flask_cloudy.py b/flask_cloudy.py index 8c0acfb..469a2f1 100644 --- a/flask_cloudy.py +++ b/flask_cloudy.py @@ -308,7 +308,7 @@ class Storage(object): raise InvalidExtensionError("Invalid file extension: '.%s' " % extension) if isinstance(file, FileStorage): - obj = self.container.upload_object_via_stream(iterator=file, + obj = self.container.upload_object_via_stream(iterator=file.stream, object_name=name, extra=extra) else: @@ -575,4 +575,4 @@ class Object(object): :return: """ warnings.warn("DEPRECATED: flask_cloudy.Object.short_url has been deprecated, use flask_cloudy.Object.url or flask_cloudy.Object.full_url") - return self.get_url() \ No newline at end of file + return self.get_url() diff --git a/setup.py b/setup.py index ba8c19c..d58797e 100644 --- a/setup.py +++ b/setup.py @@ -39,7 +39,7 @@ setup( packages=find_packages(), install_requires=[ "Flask==0.10.1", - "apache-libcloud==0.17.0", + "apache-libcloud==0.18.0", "lockfile==0.10.2", "shortuuid==0.1", "six==1.9.0", From 6f6627b74612d521c69e4123e7cec46c16d99058 Mon Sep 17 00:00:00 2001 From: Alexey Vasilyev Date: Fri, 16 Oct 2015 16:55:59 +0200 Subject: [PATCH 2/3] add unit-test --- tests/test_cloudy.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tests/test_cloudy.py b/tests/test_cloudy.py index 9f5c027..c777d45 100644 --- a/tests/test_cloudy.py +++ b/tests/test_cloudy.py @@ -165,3 +165,19 @@ def test_save_to(): assert os.path.isfile(file) assert file2 == CWD + "/data/my_new_file.txt" +def test_werkzeug_upload(): + try: + import werkzeug + except ImportError: + return + storage = app_storage() + object_name = "my-txt-hello.txt" + filepath = CWD + "/data/hello.txt" + file = None + with open(filepath, 'rb') as fp: + file = werkzeug.datastructures.FileStorage(fp) + file.filename = object_name + o = storage.upload(file, overwrite=True) + assert isinstance(o, Object) + assert o.name == object_name + From ee20485bf055ef498e0eb20f0361013dcec094d0 Mon Sep 17 00:00:00 2001 From: Alexey Vasilyev Date: Thu, 19 Nov 2015 13:53:13 +0100 Subject: [PATCH 3/3] upgrade libcloud to 0.19.0 --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index d58797e..ed5ae20 100644 --- a/setup.py +++ b/setup.py @@ -39,7 +39,7 @@ setup( packages=find_packages(), install_requires=[ "Flask==0.10.1", - "apache-libcloud==0.18.0", + "apache-libcloud==0.19.0", "lockfile==0.10.2", "shortuuid==0.1", "six==1.9.0",