aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRodney Ewing <ewing.rj@gmail.com>2013-08-13 13:31:48 -0700
committerRodney Ewing <ewing.rj@gmail.com>2013-08-16 15:30:20 -0700
commit371bcc24d2d937174bcf3132baad491c2f8d31fa (patch)
tree59ce3e86f7983a4ff22c8a41b6da43edd01559b7
parent52e9770466336bf66585e00088b3fe3eca163562 (diff)
downloadmediagoblin-371bcc24d2d937174bcf3132baad491c2f8d31fa.tar.lz
mediagoblin-371bcc24d2d937174bcf3132baad491c2f8d31fa.tar.xz
mediagoblin-371bcc24d2d937174bcf3132baad491c2f8d31fa.zip
Added thumbnail resizer for video
-rw-r--r--mediagoblin/media_types/video/processing.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/mediagoblin/media_types/video/processing.py b/mediagoblin/media_types/video/processing.py
index b9725401..8b8fdac9 100644
--- a/mediagoblin/media_types/video/processing.py
+++ b/mediagoblin/media_types/video/processing.py
@@ -283,7 +283,43 @@ class InitialProcessor(CommonVideoProcessor):
self.delete_queue_file()
+class Resizer(CommonVideoProcessor):
+ """
+ Video thumbnail resizing process steps for processed media
+ """
+ name = 'resize'
+ description = 'Resize thumbnail'
+
+ @classmethod
+ def media_is_eligible(cls, entry=None, state=None):
+ if not state:
+ state = entry.state
+ return state in 'processed'
+
+ @classmethod
+ def generate_parser(cls):
+ parser = argparse.ArgumentParser(
+ description=description,
+ prog=cls.name)
+
+ parser.add_argument(
+ '--thumb_size',
+ nargs=2,
+ metavar=('max_width', 'max_height'),
+ type=int)
+
+ @classmethod
+ def args_to_request(cls, args):
+ return request_from_args(
+ args, ['thumb_size'])
+
+ def process(self, thumb_size=None):
+ self.common_setup()
+ self.generate_thumb(thumb_size=thumb_size)
+
+
class VideoProcessingManager(ProcessingManager):
def __init__(self):
super(self.__class__, self).__init__()
self.add_processor(InitialProcessor)
+ self.add_processor(Resizer)