X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/5913c54d19b8f6775633176032161d49f9b2f1aa..edf56edfdbea88b0e18c2e5aecbb6e62250ec3d7:/src/dvcs/storage.py diff --git a/src/dvcs/storage.py b/src/dvcs/storage.py index 6bb5b595..a57d759f 100755 --- a/src/dvcs/storage.py +++ b/src/dvcs/storage.py @@ -2,8 +2,11 @@ from zlib import compress, decompress from django.core.files.base import ContentFile, File from django.core.files.storage import FileSystemStorage +from django.utils.deconstruct import deconstructible +from django.utils.encoding import force_bytes +@deconstructible class GzipFileSystemStorage(FileSystemStorage): def _open(self, name, mode='rb'): """TODO: This is good for reading; what about writing?""" @@ -13,6 +16,7 @@ class GzipFileSystemStorage(FileSystemStorage): return ContentFile(decompress(text)) def _save(self, name, content): - content = ContentFile(compress(content.read())) + data = force_bytes(content.read()) + content = ContentFile(compress(data)) return super(GzipFileSystemStorage, self)._save(name, content)