Skip to content

Commit

Permalink
Google: Use rewind=True to seek from the beginning of the file
Browse files Browse the repository at this point in the history
  • Loading branch information
m1kola authored and jschneier committed Sep 2, 2018
1 parent 2542839 commit 6be8c4e
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 8 deletions.
7 changes: 3 additions & 4 deletions storages/backends/gcloud.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,8 @@ def write(self, content):
def close(self):
if self._file is not None:
if self._is_dirty:
self.file.seek(0)
self.blob.upload_from_file(self.file, content_type=self.mime_type)
self.blob.upload_from_file(self.file, rewind=True,
content_type=self.mime_type)
self._file.close()
self._file = None

Expand Down Expand Up @@ -174,8 +174,7 @@ def _save(self, name, content):
encoded_name = self._encode_name(name)
file = GoogleCloudFile(encoded_name, 'rw', self)
file.blob.cache_control = self.cache_control
content.seek(0)
file.blob.upload_from_file(content, size=content.size,
file.blob.upload_from_file(content, rewind=True, size=content.size,
content_type=file.mime_type)
if self.default_acl:
file.blob.acl.save_predefined(self.default_acl)
Expand Down
9 changes: 5 additions & 4 deletions tests/test_gcloud.py
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,8 @@ def test_open_write(self, MockBlob):
f.close()

MockBlob().upload_from_file.assert_called_with(
tmpfile, content_type=mimetypes.guess_type(self.filename)[0])
tmpfile, rewind=True,
content_type=mimetypes.guess_type(self.filename)[0])

def test_save(self):
data = 'This is some test content.'
Expand All @@ -105,7 +106,7 @@ def test_save(self):

self.storage._client.get_bucket.assert_called_with(self.bucket_name)
self.storage._bucket.get_blob().upload_from_file.assert_called_with(
content, size=len(data), content_type=mimetypes.guess_type(self.filename)[0])
content, rewind=True, size=len(data), content_type=mimetypes.guess_type(self.filename)[0])

def test_save2(self):
data = 'This is some test ủⓝï℅ⅆℇ content.'
Expand All @@ -116,7 +117,7 @@ def test_save2(self):

self.storage._client.get_bucket.assert_called_with(self.bucket_name)
self.storage._bucket.get_blob().upload_from_file.assert_called_with(
content, size=len(data), content_type=mimetypes.guess_type(filename)[0])
content, rewind=True, size=len(data), content_type=mimetypes.guess_type(filename)[0])

def test_save_with_default_acl(self):
data = 'This is some test ủⓝï℅ⅆℇ content.'
Expand All @@ -132,7 +133,7 @@ def test_save_with_default_acl(self):

self.storage._client.get_bucket.assert_called_with(self.bucket_name)
self.storage._bucket.get_blob().upload_from_file.assert_called_with(
content, size=len(data), content_type=mimetypes.guess_type(filename)[0])
content, rewind=True, size=len(data), content_type=mimetypes.guess_type(filename)[0])
self.storage._bucket.get_blob().acl.save_predefined.assert_called_with('publicRead')

def test_delete(self):
Expand Down

0 comments on commit 6be8c4e

Please sign in to comment.