#!/usr/bin/python3
#
# Univention Portal
#
# SPDX-FileCopyrightText: 2019-2025 Univention GmbH
# SPDX-License-Identifier: AGPL-3.0-only

import json

import tornado.ioloop

from univention.portal import config
from univention.portal.log import get_logger, setup_logger
from univention.portal.main import make_app


def _load_portal_definitions(portal_definitions_file):
    with open(portal_definitions_file) as fd:
        return json.load(fd)


if __name__ == "__main__":
    setup_logger()
    portal_definitions = _load_portal_definitions(
        "/usr/share/univention-portal/portals.json",
    )
    app = make_app(portal_definitions)
    port = config.fetch("port")
    get_logger("server").info("firing up portal server at port %s" % port)
    app.listen(port)
    tornado.ioloop.IOLoop.current().start()
