aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/db/mixin.py
diff options
context:
space:
mode:
authorJessica Tallon <jessica@megworld.co.uk>2014-08-29 13:49:48 +0100
committerJessica Tallon <jessica@megworld.co.uk>2014-09-02 16:38:52 +0100
commit0421fc5ee8e10606426a803b51bfe4333d3ab406 (patch)
treeddf4788ea15d5885bf2196c644a02c0cbea3e6bd /mediagoblin/db/mixin.py
parent23bf7f3b02b5b96fade3d8b1dac2ef43a3dc59b9 (diff)
downloadmediagoblin-0421fc5ee8e10606426a803b51bfe4333d3ab406.tar.lz
mediagoblin-0421fc5ee8e10606426a803b51bfe4333d3ab406.tar.xz
mediagoblin-0421fc5ee8e10606426a803b51bfe4333d3ab406.zip
Fix migrations and refactor object_type
- Make changes to objectType to be more pythonic "object_type" - Move object_type to mixins rather than be on the models - Convert migrations to sqlalchemy core rather than ORM (fix) - Change TYPES to use descriptive strings rather than numbers
Diffstat (limited to 'mediagoblin/db/mixin.py')
-rw-r--r--mediagoblin/db/mixin.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/mediagoblin/db/mixin.py b/mediagoblin/db/mixin.py
index bc3a3bd2..6a733510 100644
--- a/mediagoblin/db/mixin.py
+++ b/mediagoblin/db/mixin.py
@@ -43,6 +43,8 @@ from mediagoblin.tools.translate import pass_to_ugettext as _
class UserMixin(object):
+ object_type = "person"
+
@property
def bio_html(self):
return cleaned_markdown_conversion(self.bio)
@@ -132,6 +134,11 @@ class MediaEntryMixin(GenerateSlugMixin):
return check_media_slug_used(self.uploader, slug, self.id)
@property
+ def object_type(self):
+ """ Converts media_type to pump-like type - don't use internally """
+ return self.media_type.split(".")[-1]
+
+ @property
def description_html(self):
"""
Rendered version of the description, run through
@@ -298,6 +305,8 @@ class MediaEntryMixin(GenerateSlugMixin):
class MediaCommentMixin(object):
+ object_type = "comment"
+
@property
def content_html(self):
"""
@@ -322,6 +331,8 @@ class MediaCommentMixin(object):
class CollectionMixin(GenerateSlugMixin):
+ object_type = "collection"
+
def check_slug_used(self, slug):
# import this here due to a cyclic import issue
# (db.models -> db.mixin -> db.util -> db.models)
@@ -366,6 +377,7 @@ class CollectionItemMixin(object):
return cleaned_markdown_conversion(self.note)
class ActivityMixin(object):
+ object_type = "activity"
VALID_VERBS = ["add", "author", "create", "delete", "dislike", "favorite",
"follow", "like", "post", "share", "unfavorite", "unfollow",
@@ -440,7 +452,8 @@ class ActivityMixin(object):
"updated": self.updated.isoformat(),
"content": self.content,
"url": self.get_url(request),
- "object": self.get_object().serialize(request)
+ "object": self.get_object().serialize(request),
+ "objectType": self.object_type,
}
if self.generator: