Files
encounterflow/encounterflow/cli.py

32 lines
1.1 KiB
Python

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="encounterflow")
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('ENCOUNTERFLOW_TOKEN','changeme'))
parser.add_argument('--data-dir', default=os.environ.get('ENCOUNTERFLOW_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()