diff options
author | Jessica Tallon <tsyesika@tsyesika.se> | 2015-08-20 11:31:50 +0200 |
---|---|---|
committer | Jessica Tallon <tsyesika@tsyesika.se> | 2015-08-20 11:31:50 +0200 |
commit | de366f735abf84919e0c5c9ef60d419153e76090 (patch) | |
tree | 222806cf73897108fa7034cc4f5b3ac7b5f1d549 /mediagoblin | |
parent | 35fbad47d7e74faa7eaa87ade534a9fb10df6d36 (diff) | |
download | mediagoblin-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.py | 11 | ||||
-rw-r--r-- | mediagoblin/db/models.py | 10 |
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, |