#!/usr/bin/env python import argparse import os import sys import pkg_resources import shutil import mqtt_dash.app from mqtt_dash.app import app args = argparse.ArgumentParser() args.add_argument('config', default='config.py', help='Configuration file') options = args.parse_args() app.secret_key = os.urandom(12) app.config.from_pyfile(os.path.abspath(options.config)) missing_config_fields = False for opt in ('URL', 'MQTT_BROKER', 'PAGE_TITLE', 'WIDGETS'): if opt not in app.config: print(f'Error: field {opt} missing in configuration') missing_config_fields = True if missing_config_fields: sys.exit(1) client = app.test_client() r = client.get('/') with open("index.html", "wb") as f: f.write(r.data) static_assets = pkg_resources.resource_filename('mqtt_dash', 'static') shutil.copytree(static_assets, "static")