aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/db
diff options
context:
space:
mode:
authorBoris Bobrov <breton@cynicmansion.ru>2018-07-12 18:49:35 +0200
committerBoris Bobrov <breton@cynicmansion.ru>2018-07-12 18:49:35 +0200
commit23af1d8cbc188c85d9f6ee9274af5b0102c48d24 (patch)
tree0135ecc29f3322cc7ef24a033e1150f4eebd0f5b /mediagoblin/db
parent8e5b7f633910de7e1429f02f0661fcbe311600fb (diff)
parent4551a808beb8aa0dab3f1a331d022bfa84ee933c (diff)
downloadmediagoblin-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_.py28
-rw-r--r--mediagoblin/db/mixin.py27
-rw-r--r--mediagoblin/db/models.py5
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)