web/server/services/cli.py
2024-07-20 12:14:54 +05:00

33 lines
1.1 KiB
Python

from argparse import ArgumentParser
from loguru import logger
def cli():
parser = ArgumentParser(prog="python3 -m server", description="Freedium server CLI")
cmd_subparsers = parser.add_subparsers(dest="cmd", required=True)
server_cmd_parser = cmd_subparsers.add_parser("server")
server_cmd_parser.add_argument("--port", nargs="?", type=int, const=7080, help="Port number", default=7080)
opts = parser.parse_args()
logger.trace(opts)
if opts.cmd == "server":
server_cmd(server_cmd_parser, opts)
def server_cmd(cmd, opts):
from server.utils.utils import is_port_in_use
import threading
if is_port_in_use(opts.port):
cmd.error(f"Port {opts.port} is in use or permission denied")
# from server.services.worker import execute_server_worker
from server.services.server import execute_server
# from server.utils.maintenance_scheduler import do_maintenance
# threading.Thread(target=do_maintenance, daemon=True).start()
# execute_server_worker(host="0.0.0.0", port=opts.port)
execute_server(host="0.0.0.0", port=opts.port)