aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/db/models.py
diff options
context:
space:
mode:
authorsaksham1115 <saksham115@gmail.com>2016-06-03 11:55:46 +0000
committersaksham1115 <saksham115@gmail.com>2016-07-19 17:29:08 +0000
commit19ba17d95066e55afde4db125cf139aae1831650 (patch)
treec1c64b13ec66a14a34bbd0c7913f47e2c6d68457 /mediagoblin/db/models.py
parent74bc86732e016f5926f5654525485afb6411bb8d (diff)
downloadmediagoblin-19ba17d95066e55afde4db125cf139aae1831650.tar.lz
mediagoblin-19ba17d95066e55afde4db125cf139aae1831650.tar.xz
mediagoblin-19ba17d95066e55afde4db125cf139aae1831650.zip
Subtitle built over attachments : working
Diffstat (limited to 'mediagoblin/db/models.py')
-rw-r--r--mediagoblin/db/models.py27
1 files changed, 26 insertions, 1 deletions
diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py
index 5393f679..9bbb252b 100644
--- a/mediagoblin/db/models.py
+++ b/mediagoblin/db/models.py
@@ -573,6 +573,15 @@ class MediaEntry(Base, MediaEntryMixin, CommentingMixin):
name=v["name"], filepath=v["filepath"])
)
+ subtitle_files_helper = relationship("MediaSubtitleFile",
+ cascade="all, delete-orphan",
+ order_by="MediaSubtitleFile.created"
+ )
+ subtitle_files = association_proxy("subtitle_files_helper", "dict_view",
+ creator=lambda v: MediaSubtitleFile(
+ name=v["name"], filepath=v["filepath"])
+ )
+
tags_helper = relationship("MediaTag",
cascade="all, delete-orphan" # should be automatically deleted
)
@@ -888,6 +897,22 @@ class MediaAttachmentFile(Base):
"""A dict like view on this object"""
return DictReadAttrProxy(self)
+class MediaSubtitleFile(Base):
+ __tablename__ = "core__subtitle_files"
+
+ id = Column(Integer, primary_key=True)
+ media_entry = Column(
+ Integer, ForeignKey(MediaEntry.id),
+ nullable=False)
+ name = Column(Unicode, nullable=False)
+ filepath = Column(PathTupleWithSlashes)
+ created = Column(DateTime, nullable=False, default=datetime.datetime.utcnow)
+
+ @property
+ def dict_view(self):
+ """A dict like view on this object"""
+ return DictReadAttrProxy(self)
+
class Tag(Base):
__tablename__ = "core__tags"
@@ -1581,7 +1606,7 @@ class Graveyard(Base):
return context
MODELS = [
LocalUser, RemoteUser, User, MediaEntry, Tag, MediaTag, Comment, TextComment,
- Collection, CollectionItem, MediaFile, FileKeynames, MediaAttachmentFile,
+ Collection, CollectionItem, MediaFile, FileKeynames, MediaAttachmentFile, MediaSubtitleFile,
ProcessingMetaData, Notification, Client, CommentSubscription, Report,
UserBan, Privilege, PrivilegeUserAssociation, RequestToken, AccessToken,
NonceTimestamp, Activity, Generator, Location, GenericModelReference, Graveyard]