Jannis Leidel avatar Jannis Leidel committed 5a6019d

Wrap the returned content file correctly.

Comments (0)

Files changed (1)

storages/backends/s3boto.py

     def file(self):
         if self._file is None:
             self._file = StringIO()
-            content_type = mimetypes.guess_type(self.name)[0] or Key.DefaultContentType
-            if (self._storage.gzip and
-                    content_type in self._storage.gzip_content_types):
-                self._file = GzipFile(fileobj=self._file)
             if 'r' in self._mode:
                 self._is_dirty = False
                 self.key.get_contents_to_file(self._file)
                 self._file.seek(0)
+            content_type = mimetypes.guess_type(self.name)[0] or Key.DefaultContentType
+            if (self._storage.gzip and
+                    content_type in self._storage.gzip_content_types):
+                self._file = GzipFile(mode=self._mode, fileobj=self._file)
         return self._file
 
     def read(self, *args, **kwargs):
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.