diff options
Diffstat (limited to 'mediagoblin/db')
-rw-r--r-- | mediagoblin/db/mixin.py | 27 | ||||
-rw-r--r-- | mediagoblin/db/models.py | 4 |
2 files changed, 29 insertions, 2 deletions
diff --git a/mediagoblin/db/mixin.py b/mediagoblin/db/mixin.py index e8b121d0..b47dc0e7 100644 --- a/mediagoblin/db/mixin.py +++ b/mediagoblin/db/mixin.py @@ -249,6 +249,33 @@ class MediaEntryMixin(GenerateSlugMixin, GeneratePublicIDMixin): if media_size in media_sizes: return media_size, self.media_files[media_size] + def get_all_media(self): + """ + Returns all available qualties of a media + """ + fetch_order = self.media_manager.media_fetch_order + + # No fetching order found? well, give up! + if not fetch_order: + return None + + media_sizes = self.media_files.keys() + + all_media_path = [] + + for media_size in fetch_order: + if media_size in media_sizes: + file_metadata = self.get_file_metadata(media_size) + size = file_metadata['medium_size'] + if media_size != 'webm': + all_media_path.append((media_size[5:], size, + self.media_files[media_size])) + else: + sall_media_path.append(('default', size, + self.media_files[media_size])) + + return all_media_path + def main_mediafile(self): pass diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index f4644b9f..cc06b12f 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -25,7 +25,7 @@ import datetime from sqlalchemy import Column, Integer, Unicode, UnicodeText, DateTime, \ Boolean, ForeignKey, UniqueConstraint, PrimaryKeyConstraint, \ - SmallInteger, Date, types + SmallInteger, Date, types, Float from sqlalchemy.orm import relationship, backref, with_polymorphic, validates, \ class_mapper from sqlalchemy.orm.collections import attribute_mapped_collection @@ -542,7 +542,7 @@ class MediaEntry(Base, MediaEntryMixin, CommentingMixin): fail_error = Column(Unicode) fail_metadata = Column(JSONEncoded) - transcoding_progress = Column(SmallInteger) + transcoding_progress = Column(Float, default=0) queued_media_file = Column(PathTupleWithSlashes) |