aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/db/models.py
diff options
context:
space:
mode:
authorJessica Tallon <jessica@megworld.co.uk>2014-11-04 10:39:01 +0000
committerJessica Tallon <jessica@megworld.co.uk>2014-11-04 10:42:31 +0000
commitc511fc5e5eefaadebf00a87e742ebc5358b7185d (patch)
tree5ed2a4d1abc6cc3537e1b8a4f053764194a50d08 /mediagoblin/db/models.py
parent4fc1671d84d834fefb616e8cbe72c8c2b64095b3 (diff)
downloadmediagoblin-c511fc5e5eefaadebf00a87e742ebc5358b7185d.tar.lz
mediagoblin-c511fc5e5eefaadebf00a87e742ebc5358b7185d.tar.xz
mediagoblin-c511fc5e5eefaadebf00a87e742ebc5358b7185d.zip
Fix User and MediaEntry serialize and add serialize to models which need it
Diffstat (limited to 'mediagoblin/db/models.py')
-rw-r--r--mediagoblin/db/models.py19
1 files changed, 17 insertions, 2 deletions
diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py
index 294200d8..5a6a8240 100644
--- a/mediagoblin/db/models.py
+++ b/mediagoblin/db/models.py
@@ -251,7 +251,7 @@ class User(Base, UserMixin):
if self.url:
user.update({"url": self.url})
if self.location:
- user.update({"location": self.get_location.seralize(request)})
+ user.update({"location": self.get_location.serialize(request)})
return user
@@ -528,7 +528,7 @@ class MediaEntry(Base, MediaEntryMixin):
"id": self.id,
"author": author.serialize(request),
"objectType": self.object_type,
- "url": self.url_for_self(request.urlgen),
+ "url": self.url_for_self(request.urlgen, qualified=True),
"image": {
"url": request.host_url + self.thumb_url[1:],
},
@@ -844,6 +844,18 @@ class Collection(Base, CollectionMixin):
creator=self.creator,
title=safe_title)
+ def serialize(self, request):
+ # Get all serialized output in a list
+ items = []
+ for item in self.get_collection_items():
+ items.append(item.serialize(request))
+
+ return {
+ "totalItems": self.items,
+ "url": self.url_for_self(request.urlgen, qualified=True),
+ "items": items,
+ }
+
class CollectionItem(Base, CollectionItemMixin):
__tablename__ = "core__collection_items"
@@ -880,6 +892,9 @@ class CollectionItem(Base, CollectionItemMixin):
collection=self.collection,
entry=self.media_entry)
+ def serialize(self, request):
+ return self.get_media_entry.serialize(request)
+
class ProcessingMetaData(Base):
__tablename__ = 'core__processing_metadata'