From: vijeth-aradhya <vijthaaa@gmail.com> Date: Sun, 16 Jul 2017 15:13:08 +0000 (+0530) Subject: Add get_all_media() in MediaEntryMixin X-Git-Url: https://vcs.fsf.org/?a=commitdiff_plain;h=809ebf4536ed652325013d1a78e2239849e85cd5;p=mediagoblin.git Add get_all_media() in MediaEntryMixin Returns all available qualties of a media with it's dimensions and resolution label. --- 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