annotate memeomatic/main.py @ 0:bf637ccfcae5 default tip

initial stub
author Jeff Hammel <jhammel@mozilla.com>
date Wed, 04 Jul 2012 12:53:24 -0700
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
1 #!/usr/bin/env python
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
2
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
3 """
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
4 CLI meme generator
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
5 """
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
6
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
7 import meme
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
8 import sys
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
9 import optparse
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
10
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
11 def main(args=sys.argv[:]):
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
12
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
13 # parse command line options
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
14 usage = '%prog [options] path/to/image.file'
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
15 class PlainDescriptionFormatter(optparse.IndentedHelpFormatter):
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
16 """description formatter for console script entry point"""
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
17 def format_description(self, description):
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
18 if description:
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
19 return description.strip() + '\n'
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
20 else:
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
21 return ''
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
22 parser = optparse.OptionParser(usage=usage, description=__doc__, formatter=PlainDescriptionFormatter())
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
23 parser.add_option('-h', '--header', dest='header',
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
24 help="text for the top of the image")
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
25 parser.add_option('-f', '--footer', dest='footer',
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
26 help="text for the bottom of the image")
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
27 parser.add_option('-o', '--output', dest='output',
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
28 help="output path for image")
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
29 options, args = parser.parse_args(args)
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
30
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
31 if len(args) != 1:
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
32 parser.error("Please supply path to image")
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
33
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
34 if not options.header and not options.footer:
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
35 parser.error("Please supply --header and/or --footer text")
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
36
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
37
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
38
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
39 if __name__ == '__main__':
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
40 main()
bf637ccfcae5 initial stub
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
41