]> git.parisson.com Git - telemeta.git/commitdiff
Fix collection ZIP serializer
authorGuillaume Pellerin <guillaume.pellerin@ircam.fr>
Mon, 9 Sep 2019 10:35:30 +0000 (12:35 +0200)
committerGuillaume Pellerin <guillaume.pellerin@ircam.fr>
Mon, 9 Sep 2019 10:35:30 +0000 (12:35 +0200)
telemeta/models/collection.py
telemeta/models/core.py
telemeta/views/collection.py

index 0adbceb20e2f2d9caaf44107849a3faa5d343b4d..a8203bf934691a16119bafb185be333900eab4ab 100644 (file)
@@ -28,6 +28,7 @@ from telemeta.models.core import *
 from telemeta.models.query import *
 from telemeta.models.identifier import *
 from telemeta.models.resource import *
+from telemeta.models.enum import *
 
 # Special code regex of collections for the branch
 collection_published_code_regex = getattr(settings, 'COLLECTION_PUBLISHED_CODE_REGEX', '[A-Za-z0-9._-]*')
@@ -257,7 +258,8 @@ class MediaCollection(MediaResource):
 
     def get_json(self):
         import json
-        return json.dumps(self.to_dict_with_more())
+        data = self.to_dict_with_more()
+        return json.dumps(data)
 
     def to_row(self, tags):
         row = []
index 607cec0b984ae1ebd478ea4eee89da27384af418..12142c674dcc2e5e9187311b09e5c0f46b5fd4fc 100644 (file)
@@ -125,7 +125,8 @@ class ModelCore(models.Model, DirtyFieldsMixin):
         "Return model fields as a dict of name/value pairs"
         fields_dict = {}
         for field in self._meta.fields:
-            fields_dict[field.name] = getattr(self, field.name)
+            data = unicode(getattr(self, field.name))
+            fields_dict[field.name] = data
         return fields_dict
 
     def to_list(self):
index fca2705b5aa5150a766ab9d4e0b1cc2bde2ddc2e..0fd46e9507dec78e49e96daa62e8c15b0443971d 100644 (file)
@@ -170,6 +170,7 @@ class CollectionZipView(View):
         without loading the whole file into memory.
         Based on ZipStream
         """
+        from django.http import HttpResponse, StreamingHttpResponse
         from telemeta.views import MarkerView
         from telemeta.backup import CollectionSerializer
         import zipstream
@@ -461,4 +462,4 @@ class CollectionSoundEnumListView(CollectionEnumListView):
 
     def get_coll(self, enum,c):
         return c.get_coll(enum).sound().order_by('code', 'old_code')
-    
+