62 lines
1.7 KiB
Python
62 lines
1.7 KiB
Python
from ..Convention.Runtime.GlobalConfig import ProjectConfig, ConsoleFrontColor
|
|
from ..CoreModules.flags import set_internal_verbose
|
|
from .web import app
|
|
from argparse import ArgumentParser
|
|
from typing import *
|
|
import sys
|
|
import uvicorn
|
|
|
|
def main() -> int:
|
|
config = ProjectConfig()
|
|
|
|
parser = ArgumentParser()
|
|
parser.add_argument("--main-webhook-url", type=str, default=config.FindItem("main_webhook_url", ""))
|
|
parser.add_argument("--host", type=str, default=config.FindItem("host", "0.0.0.0"))
|
|
parser.add_argument("--port", type=int, default=config.FindItem("port", 8000))
|
|
parser.add_argument("--verbose", type=bool, default=config.FindItem("verbose", False))
|
|
args = parser.parse_args()
|
|
|
|
config.SaveProperties()
|
|
|
|
if "help" in args:
|
|
parser.print_help()
|
|
return 0
|
|
|
|
# region Main Webhook URL
|
|
|
|
webhook_url = args.main_webhook_url
|
|
if not webhook_url or webhook_url == "":
|
|
config.Log("Fatal", f"{ConsoleFrontColor.RED}Main webhook URL is not set{ConsoleFrontColor.RESET}")
|
|
return 1
|
|
|
|
config.Log("Info", f"{ConsoleFrontColor.GREEN}Main webhook URL: {webhook_url}{ConsoleFrontColor.RESET}")
|
|
|
|
# endregion Main Webhook URL
|
|
|
|
# region Verbose
|
|
|
|
verbose = args.verbose
|
|
set_internal_verbose(verbose)
|
|
|
|
config.Log("Info", f"{ConsoleFrontColor.GREEN}Verbose: {verbose}{ConsoleFrontColor.RESET}")
|
|
|
|
# endregion Verbose
|
|
|
|
# region Server
|
|
|
|
host = args.host
|
|
port = args.port
|
|
config.Log("Info", f"{ConsoleFrontColor.GREEN}Server: {host}:{port}{ConsoleFrontColor.RESET}")
|
|
|
|
# endregion Server
|
|
|
|
uvicorn.run(app, host=host, port=port,
|
|
limit_concurrency=5,
|
|
log_level="info")
|
|
|
|
return 0
|
|
|
|
if __name__ == "__main__":
|
|
sys.exit(main())
|
|
|
|
__all__ = ["main"] |