diff options
author | Rodney Ewing <ewing.rj@gmail.com> | 2013-08-13 13:31:48 -0700 |
---|---|---|
committer | Rodney Ewing <ewing.rj@gmail.com> | 2013-08-16 15:30:20 -0700 |
commit | 371bcc24d2d937174bcf3132baad491c2f8d31fa (patch) | |
tree | 59ce3e86f7983a4ff22c8a41b6da43edd01559b7 | |
parent | 52e9770466336bf66585e00088b3fe3eca163562 (diff) | |
download | mediagoblin-371bcc24d2d937174bcf3132baad491c2f8d31fa.tar.lz mediagoblin-371bcc24d2d937174bcf3132baad491c2f8d31fa.tar.xz mediagoblin-371bcc24d2d937174bcf3132baad491c2f8d31fa.zip |
Added thumbnail resizer for video
-rw-r--r-- | mediagoblin/media_types/video/processing.py | 36 |
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) |