First pass at packaging for Harmattan
[ejpi] / support / scale.py
1 #!/usr/bin/env python
2
3 from __future__ import with_statement
4 from __future__ import division
5
6 from PIL import Image
7 import logging
8
9
10 _moduleLogger = logging.getLogger(__name__)
11
12
13 def main(args):
14         import optparse
15         parser = optparse.OptionParser()
16         parser.add_option(
17                 "--input", dest="input",
18                 help="Input image to scale", metavar="INPUT"
19         )
20         parser.add_option(
21                 "--output", dest="output",
22                 help="Scaled image", metavar="OUTPUT"
23         )
24         parser.add_option(
25                 "--size", dest="size",
26                 help="Icon size", metavar="SIZE"
27         )
28         options, positional  = parser.parse_args(args)
29         if positional:
30                 parser.error("No positional arguments supported")
31         if None in [options.input, options.output, options.size]:
32                 parser.error("Missing argument")
33
34         icon = Image.open(options.input)
35         icon.thumbnail((options.size, options.size), Image.ANTIALIAS)
36         icon.save(options.output)
37
38
39 if __name__ == "__main__":
40         import sys
41         retcode = main(sys.argv[1:])
42         sys.exit(retcode)