comparison licenser/main.py @ 3:e700bd2ec289

finish basic structure
author Jeff Hammel <jhammel@mozilla.com>
date Mon, 10 May 2010 12:17:38 -0700
parents b8d620fa1116
children f7d485cedc80
comparison
equal deleted inserted replaced
2:b8d620fa1116 3:e700bd2ec289
20 print >> sys.stderr, "Couldn't load license '%s' [%s]" % (entry_point.name, e) 20 print >> sys.stderr, "Couldn't load license '%s' [%s]" % (entry_point.name, e)
21 continue 21 continue
22 licenses[entry_point.name] = license 22 licenses[entry_point.name] = license
23 return licenses 23 return licenses
24 24
25 def print_licenses(self, licenses): 25 def print_licenses(licenses):
26 for i in sorted(licenses.keys()): 26 for i in sorted(licenses.keys()):
27 doc = getattr(licenses[i], '__doc__') 27 doc = getattr(licenses[i], '__doc__')
28 if doc: 28 if doc:
29 print '%s: %s' % (i, doc) 29 print '%s: %s' % (i, doc)
30 else: 30 else:
32 32
33 33
34 def main(args=sys.argv[1:]): 34 def main(args=sys.argv[1:]):
35 usage = '%prog [options] directory' 35 usage = '%prog [options] directory'
36 parser = OptionParser(usage, description=__doc__) 36 parser = OptionParser(usage, description=__doc__)
37 parser.add_option('-d', '--debug', action='store_true', default=False, 37 # parser.add_option('-d', '--debug', action='store_true', default=False,
38 help="debug the application") 38 # help="debug the application")
39 parser.add_option('-l', '--license', 39 parser.add_option('-l', '--license',
40 help="license to use") 40 help="license to use")
41 parser.add_option('--list', action='store_true', default=False, 41 parser.add_option('--list', action='store_true', default=False,
42 help="list available licenses") 42 help="list available licenses")
43 parser.add_option('-p', '--print', dest='_print',
44 action='store_true', default=False,
45 help="print the chosen license")
43 options, args = parser.parse_args(args) 46 options, args = parser.parse_args(args)
44 47
45 licenses = license_list() 48 licenses = license_list()
46 49
47 if options.list: # list the licenses 50 if options.list: # list the licenses
52 parser.error("Must specify --license") 55 parser.error("Must specify --license")
53 if options.license not in licenses: 56 if options.license not in licenses:
54 print_licenses(licenses) 57 print_licenses(licenses)
55 58
56 license = licenses[options.license]() 59 license = licenses[options.license]()
60
61 if options._print:
62 license.print_license()
63 sys.exit(0)
57 64
58 65 variables = license.obtain_variables()
59 66
60 for directory in args: 67 for directory in args:
61 filelist = files(directory) 68 license.interpolate(directory, variables)
62 69
63 if __name__ == '__main__': 70 if __name__ == '__main__':
64 main() 71 main()