aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin
diff options
context:
space:
mode:
authorJessica Tallon <tsyesika@tsyesika.se>2015-08-20 11:31:50 +0200
committerJessica Tallon <tsyesika@tsyesika.se>2015-08-20 11:31:50 +0200
commitde366f735abf84919e0c5c9ef60d419153e76090 (patch)
tree222806cf73897108fa7034cc4f5b3ac7b5f1d549 /mediagoblin
parent35fbad47d7e74faa7eaa87ade534a9fb10df6d36 (diff)
downloadmediagoblin-de366f735abf84919e0c5c9ef60d419153e76090.tar.lz
mediagoblin-de366f735abf84919e0c5c9ef60d419153e76090.tar.xz
mediagoblin-de366f735abf84919e0c5c9ef60d419153e76090.zip
Fix serialization after model changes
After the recent model changes there were some bugs which were introduced into the serialization methods of the models. This commit fixes those issues.
Diffstat (limited to 'mediagoblin')
-rw-r--r--mediagoblin/db/mixin.py11
-rw-r--r--mediagoblin/db/models.py10
2 files changed, 11 insertions, 10 deletions
diff --git a/mediagoblin/db/mixin.py b/mediagoblin/db/mixin.py
index ab6de230..07e1fe97 100644
--- a/mediagoblin/db/mixin.py
+++ b/mediagoblin/db/mixin.py
@@ -451,8 +451,8 @@ class ActivityMixin(object):
"audio": _("audio"),
"person": _("a person"),
}
- obj = self.object_helper.get_object()
- target = None if self.target_helper is None else self.target_helper.get_object()
+ obj = self.object
+ target = None if self.target is None else self.target
actor = self.get_actor
content = verb_to_content.get(self.verb, None)
@@ -506,7 +506,7 @@ class ActivityMixin(object):
"updated": updated.isoformat(),
"content": self.content,
"url": self.get_url(request),
- "object": self.get_object.serialize(request),
+ "object": self.object().serialize(request),
"objectType": self.object_type,
"links": {
"self": {
@@ -521,9 +521,8 @@ class ActivityMixin(object):
if self.title:
obj["title"] = self.title
- target = self.get_target
- if target is not None:
- obj["target"] = target.serialize(request)
+ if self.target_id is not None:
+ obj["target"] = self.target().serialize(request)
return obj
diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py
index af6e2872..f1449667 100644
--- a/mediagoblin/db/models.py
+++ b/mediagoblin/db/models.py
@@ -304,6 +304,8 @@ class User(Base, UserMixin):
if self.location:
user.update({"location": self.get_location.serialize(request)})
+ return user
+
def unserialize(self, data):
if "summary" in data:
self.bio = data["summary"]
@@ -689,8 +691,9 @@ class MediaEntry(Base, MediaEntryMixin):
author = self.get_uploader
published = UTC.localize(self.created)
updated = UTC.localize(self.updated)
+ public_id = self.get_public_id(request)
context = {
- "id": self.get_public_id(request),
+ "id": public_id,
"author": author.serialize(request),
"objectType": self.object_type,
"url": self.url_for_self(request.urlgen, qualified=True),
@@ -707,7 +710,7 @@ class MediaEntry(Base, MediaEntryMixin):
},
"links": {
"self": {
- "href": href,
+ "href": public_id,
},
}
@@ -1276,7 +1279,6 @@ class CommentReport(ReportBase):
MediaComment, backref=backref("reports_filed_on",
lazy="dynamic"))
-
class MediaReport(ReportBase):
"""
Reports that have been filed on media entries
@@ -1435,7 +1437,7 @@ class Activity(Base, ActivityMixin):
# Create the generic foreign Key for the target
target_id = Column(Integer, ForeignKey(GenericModelReference.id), nullable=True)
target_helper = relationship(GenericModelReference, foreign_keys=[target_id])
- taget = association_proxy("target_helper", "get_target",
+ target = association_proxy("target_helper", "get_object",
creator=GenericModelReference.find_or_new)
get_actor = relationship(User,