Ejemplo n.º 1
0
import routers

app = hug.API(__name__)

router = hug.route.API(app)
router.get('/metrics', output=hug.output_format.text,
           api=app)(routers.generate_stats)

router.get('/devices', api=app)(routers.list_devices)
router.post('/devices/{device_id}/activate', api=app)(routers.acitvate_device)
router.post('/devices/discover', api=app)(routers.do_discovery)

initialize_logging(CONFIG.LOG_MODE, debug=CONFIG.DEBUG_MODE)
setup_access_log(app, Logger('access_log'))
DB.init_app(app, CONFIG.SQLALCHEMY_DATABASE_URI)
DB.create_models()


def signal_handler(signal, frame):
    if ServiceDiscovery.service_browser.is_alive():
        ServiceDiscovery.service_browser.cancel()

    sys.exit(0)


signal.signal(signal.SIGINT, signal_handler)


@hug.exception(api=app)
def handle_exception(exception):
    log = Logger('mistats')