terom@0: #!/usr/bin/python terom@0: terom@0: from werkzeug.serving import run_simple terom@0: terom@0: from pvl import __version__ terom@0: import pvl.args terom@0: import pvl.verkko.wsgi terom@0: terom@0: import optparse terom@0: import logging; log = logging.getLogger('main') terom@0: terom@0: def parse_argv (argv, doc = __doc__) : terom@0: """ terom@0: Parse command-line argv, returning (options, args). terom@0: terom@0: Use pvl.ldap.args.apply() to get the LDAPClient terom@0: """ terom@0: terom@0: prog = argv.pop(0) terom@0: args = argv terom@0: terom@0: # optparse terom@0: parser = optparse.OptionParser( terom@0: prog = prog, terom@0: usage = '%prog: [options] [ [...]]', terom@0: version = __version__, terom@0: description = doc, terom@0: ) terom@0: terom@0: # common terom@0: parser.add_option_group(pvl.args.parser(parser)) terom@0: terom@14: parser.add_option('-d', '--database-read', metavar='URI', default='sqlite:///var/verkko.db', terom@2: help="Database to use (readonly)") terom@2: terom@0: # parse terom@0: options, args = parser.parse_args(args) terom@0: terom@0: # apply terom@0: pvl.args.apply(options) terom@0: terom@0: return options, args terom@0: terom@0: def main (argv) : terom@0: """ terom@0: Manage LDAP user dirs/symlinks/quotas on system. terom@0: """ terom@0: terom@0: # parse cmdline terom@0: options, args = parse_argv(argv, doc=__doc__) terom@0: terom@0: # app terom@2: application = pvl.verkko.wsgi.Application(options.database_read) terom@0: terom@0: # wsgi wrapper terom@0: run_simple('0.0.0.0', 8080, application, terom@0: #use_reloader = True, terom@0: use_debugger = (options.loglevel == logging.DEBUG), terom@0: static_files = { terom@0: '/static': 'static', terom@0: }, terom@0: ) terom@0: terom@0: if __name__ == '__main__' : terom@0: import sys terom@0: terom@0: sys.exit(main(sys.argv)) terom@0: terom@0: