diff options
author | Jessica Tallon <tsyesika@tsyesika.se> | 2015-08-19 16:56:49 +0200 |
---|---|---|
committer | Jessica Tallon <tsyesika@tsyesika.se> | 2015-08-19 17:18:37 +0200 |
commit | 35fbad47d7e74faa7eaa87ade534a9fb10df6d36 (patch) | |
tree | e7171e192cad53465400d902dd6345c1e8e5a30c /mediagoblin/db/models.py | |
parent | c9f6afe291e76f4f0deb6467b32ba34861b850f3 (diff) | |
download | mediagoblin-35fbad47d7e74faa7eaa87ade534a9fb10df6d36.tar.lz mediagoblin-35fbad47d7e74faa7eaa87ade534a9fb10df6d36.tar.xz mediagoblin-35fbad47d7e74faa7eaa87ade534a9fb10df6d36.zip |
Change structure of MediaEntry and add migration
This makes the changes needed for federating MediaEntry objects as well
as adding the migration and necessary methods to get the public_id just
in time (JIT).
Diffstat (limited to 'mediagoblin/db/models.py')
-rw-r--r-- | mediagoblin/db/models.py | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index 9d57753b..af6e2872 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -494,11 +494,12 @@ class MediaEntry(Base, MediaEntryMixin): __tablename__ = "core__media_entries" id = Column(Integer, primary_key=True) + public_id = Column(Unicode, unique=True, nullable=True) + remote = Column(Boolean, default=False) + uploader = Column(Integer, ForeignKey(User.id), nullable=False, index=True) title = Column(Unicode, nullable=False) slug = Column(Unicode) - created = Column(DateTime, nullable=False, default=datetime.datetime.utcnow, - index=True) description = Column(UnicodeText) # ?? media_type = Column(Unicode, nullable=False) state = Column(Unicode, default=u'unprocessed', nullable=False) @@ -508,6 +509,10 @@ class MediaEntry(Base, MediaEntryMixin): location = Column(Integer, ForeignKey("core__locations.id")) get_location = relationship("Location", lazy="joined") + created = Column(DateTime, nullable=False, default=datetime.datetime.utcnow, + index=True) + updated = Column(DateTime, nullable=False, default=datetime.datetime.utcnow) + fail_error = Column(Unicode) fail_metadata = Column(JSONEncoded) @@ -681,17 +686,11 @@ class MediaEntry(Base, MediaEntryMixin): def serialize(self, request, show_comments=True): """ Unserialize MediaEntry to object """ - href = request.urlgen( - "mediagoblin.api.object", - object_type=self.object_type, - id=self.id, - qualified=True - ) author = self.get_uploader published = UTC.localize(self.created) - updated = UTC.localize(self.created) + updated = UTC.localize(self.updated) context = { - "id": href, + "id": self.get_public_id(request), "author": author.serialize(request), "objectType": self.object_type, "url": self.url_for_self(request.urlgen, qualified=True), |