diff options
author | Boris Bobrov <breton@cynicmansion.ru> | 2018-07-12 18:49:35 +0200 |
---|---|---|
committer | Boris Bobrov <breton@cynicmansion.ru> | 2018-07-12 18:49:35 +0200 |
commit | 23af1d8cbc188c85d9f6ee9274af5b0102c48d24 (patch) | |
tree | 0135ecc29f3322cc7ef24a033e1150f4eebd0f5b /mediagoblin/db | |
parent | 8e5b7f633910de7e1429f02f0661fcbe311600fb (diff) | |
parent | 4551a808beb8aa0dab3f1a331d022bfa84ee933c (diff) | |
download | mediagoblin-23af1d8cbc188c85d9f6ee9274af5b0102c48d24.tar.lz mediagoblin-23af1d8cbc188c85d9f6ee9274af5b0102c48d24.tar.xz mediagoblin-23af1d8cbc188c85d9f6ee9274af5b0102c48d24.zip |
Merge branch 'transcoding_progress'
This probably broke stuff
Diffstat (limited to 'mediagoblin/db')
-rw-r--r-- | mediagoblin/db/migrations/versions/cc3651803714_add_main_transcoding_progress_column_to_.py | 28 | ||||
-rw-r--r-- | mediagoblin/db/mixin.py | 27 | ||||
-rw-r--r-- | mediagoblin/db/models.py | 5 |
3 files changed, 58 insertions, 2 deletions
diff --git a/mediagoblin/db/migrations/versions/cc3651803714_add_main_transcoding_progress_column_to_.py b/mediagoblin/db/migrations/versions/cc3651803714_add_main_transcoding_progress_column_to_.py new file mode 100644 index 00000000..fdcde3ba --- /dev/null +++ b/mediagoblin/db/migrations/versions/cc3651803714_add_main_transcoding_progress_column_to_.py @@ -0,0 +1,28 @@ +"""add main transcoding progress column to MediaEntry + +Revision ID: cc3651803714 +Revises: 228916769bd2 +Create Date: 2017-08-21 23:33:01.401589 + +""" + +# revision identifiers, used by Alembic. +revision = 'cc3651803714' +down_revision = '228916769bd2' +branch_labels = None +depends_on = None + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + """ + Addition of main_transcoding_progress is required to save the progress of the + default resolution (other than the total progress of the video). + """ + op.add_column('core__media_entries', sa.Column('main_transcoding_progress', sa.Float(), default=0)) + + +def downgrade(): + pass diff --git a/mediagoblin/db/mixin.py b/mediagoblin/db/mixin.py index e8b121d0..5f2eb11d 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_video': + all_media_path.append((media_size[5:], size, + self.media_files[media_size])) + else: + all_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 c19fe4da..0974676a 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 @@ -543,7 +543,8 @@ class MediaEntry(Base, MediaEntryMixin, CommentingMixin): fail_error = Column(Unicode) fail_metadata = Column(JSONEncoded) - transcoding_progress = Column(SmallInteger) + transcoding_progress = Column(Float, default=0) + main_transcoding_progress = Column(Float, default=0) queued_media_file = Column(PathTupleWithSlashes) |