3 from __future__ import with_statement
4 from __future__ import division
12 _moduleLogger = logging.getLogger(__name__)
17 parser = optparse.OptionParser()
19 "--input", dest="input",
20 help="Input image to scale", metavar="INPUT"
23 "--output", dest="output",
24 help="Scaled image", metavar="OUTPUT"
27 "--size", dest="size",
28 help="Icon size", metavar="SIZE"
30 options, positional = parser.parse_args(args)
32 parser.error("No positional arguments supported")
33 if None in [options.input, options.output, options.size]:
34 parser.error("Missing argument")
35 if options.size == "guess":
36 parts = reversed(os.path.split(options.output))
39 options.size = int(part)
40 _moduleLogger.info("Assuming image size of %r" % options.size)
45 icon = Image.open(options.input)
46 icon.thumbnail((int(options.size), int(options.size)), Image.ANTIALIAS)
47 icon.save(options.output)
50 if __name__ == "__main__":
52 retcode = main(sys.argv[1:])