from __future__ import annotations import argparse, os from . import create_app from .storage import ensure_default_icons, load_state from .state import STATE def main(): parser = argparse.ArgumentParser(prog="battleflow") parser.add_argument('--host', default='127.0.0.1') parser.add_argument('--port', type=int, default=5050) parser.add_argument('--token', default=os.environ.get('BATTLEFLOW_TOKEN','changeme')) parser.add_argument('--data-dir', default=os.environ.get('BATTLEFLOW_DATA_DIR')) args = parser.parse_args() app = create_app(token=args.token, data_dir=args.data_dir) with app.app_context(): ensure_default_icons() load_state(STATE) print(f""" Name: {app.config['PRODUCT_NAME']} — {app.config['PRODUCT_SUBTITLE']} Admin: http://{args.host}:{args.port}/admin?token={args.token} Board: http://{args.host}:{args.port}/board?token={args.token} Data dir: {app.config['DATA_DIR']} Avatars: {app.config['AVATAR_DIR']} Icons: {app.config['ICON_DIR']} """) app.run(host=args.host, port=args.port, debug=False) if __name__ == "__main__": main()