diff options
author | Rodney Ewing <ewing.rj@gmail.com> | 2013-08-14 10:40:14 -0700 |
---|---|---|
committer | Rodney Ewing <ewing.rj@gmail.com> | 2013-08-16 15:30:21 -0700 |
commit | a3cc93c6af284c7f3cd6712611bfc6fc0f040a4f (patch) | |
tree | 461e5122d78b708c4623c98f92fe84917f60085a | |
parent | 77daec9224bf78a71d49a5ddfca72f9bb10efb11 (diff) | |
download | mediagoblin-a3cc93c6af284c7f3cd6712611bfc6fc0f040a4f.tar.lz mediagoblin-a3cc93c6af284c7f3cd6712611bfc6fc0f040a4f.tar.xz mediagoblin-a3cc93c6af284c7f3cd6712611bfc6fc0f040a4f.zip |
added resizer for stl media
-rw-r--r-- | mediagoblin/media_types/stl/processing.py | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/mediagoblin/media_types/stl/processing.py b/mediagoblin/media_types/stl/processing.py index 6adc68ae..2ec4241c 100644 --- a/mediagoblin/media_types/stl/processing.py +++ b/mediagoblin/media_types/stl/processing.py @@ -273,7 +273,58 @@ class InitialProcessor(CommonStlProcessor): self.delete_queue_file() +class Resizer(CommonStlProcessor): + """ + Resizing process steps for processed stls + """ + name = 'resize' + description = 'Resize thumbnail and mediums' + + @classmethod + def media_is_eligible(cls, entry=None, state=None): + """ + Determine if this media type is eligible for processing + """ + if not state: + state = entry.state + return state in 'processed' + + @classmethod + def generate_parser(cls): + parser = argparse.ArgumentParser( + description=cls.description, + prog=cls.name) + + parser.add_argument( + '--size', + nargs=2, + metavar=('max_width', 'max_height'), + type=int) + + parser.add_argument( + 'file', + choices=['medium', 'thumb']) + + return parser + + @classmethod + def args_to_request(cls, args): + return request_from_args( + args, ['size', 'file']) + + def process(self, file, size=None): + self.common_setup() + if file == 'medium': + self.generate_perspective(size=size) + self.generate_topview(size=size) + self.generate_frontview(size=size) + self.generate_sideview(size=size) + elif file == 'thumb': + self.generate_thumb(size=size) + + class StlProcessingManager(ProcessingManager): def __init__(self): super(self.__class__, self).__init__() self.add_processor(InitialProcessor) + self.add_processor(Resizer) |