39 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
#!/usr/bin/python3
 | 
						|
import sys
 | 
						|
import argparse
 | 
						|
import bjoern
 | 
						|
 | 
						|
 | 
						|
def install(arguments):
 | 
						|
    from flaschengeist.app import create_app, install_all
 | 
						|
    app = create_app()
 | 
						|
    with app.app_context():
 | 
						|
        install_all()
 | 
						|
 | 
						|
 | 
						|
def run(arguments):
 | 
						|
    from flaschengeist.app import create_app
 | 
						|
    app = create_app()
 | 
						|
    with app.app_context():
 | 
						|
        if arguments.debug:
 | 
						|
            app.run(arguments.host, arguments.port, debug=True)
 | 
						|
        else:
 | 
						|
            bjoern.run(app, arguments.host, arguments.port, reuse_port=True)
 | 
						|
 | 
						|
 | 
						|
if __name__ == '__main__':
 | 
						|
    # create the top-level parser
 | 
						|
    parser = argparse.ArgumentParser()
 | 
						|
    subparsers = parser.add_subparsers(help='sub-command help', dest="sub_command")
 | 
						|
    subparsers.required = True
 | 
						|
    parser_run = subparsers.add_parser('run', help='run flaschengeist')
 | 
						|
    parser_run.set_defaults(func=run)
 | 
						|
    parser_run.add_argument("--host", help="set hostname to listen on", default="127.0.0.1")
 | 
						|
    parser_run.add_argument("--port", help="set port to listen on", type=int, default=5000)
 | 
						|
    parser_run.add_argument("--debug", help="run in debug mode", action="store_true")
 | 
						|
    parser_install = subparsers.add_parser('install', help='run database setup for flaschengeist and all installed plugins')
 | 
						|
    parser_install.set_defaults(func=install)
 | 
						|
 | 
						|
    args = parser.parse_args()
 | 
						|
    args.func(args)
 |