From 0eb142696af899dbdb09b6cd42f765d8af00190f Mon Sep 17 00:00:00 2001 From: "MH.Dmitrii" Date: Sat, 7 Mar 2026 18:51:00 +0300 Subject: [PATCH] run remake --- run.py | 69 +++++++++++++++++++++++++++++++--------------------------- 1 file changed, 37 insertions(+), 32 deletions(-) diff --git a/run.py b/run.py index 1c67a6b..a206b50 100644 --- a/run.py +++ b/run.py @@ -1,46 +1,51 @@ -from server.backend.schema.pydantic import settings +from server.backend.schema.pydantic import settings, UserCreate from server.backend.database.db import create_user, list_users -from server.backend.schema.pydantic import UserCreate -import asyncio import uvicorn -def start(log_level:str): - if __name__ == "__main__": - uvicorn.run( - "server.backend.endpoints.endpoints:api", - host="0.0.0.0", - port=settings.PORT, - reload=False, - log_level=log_level, - access_log=True - ) +import asyncio import argparse + +async def init_admin(user_name: str): + admin_user = { + "code": "123456", + "name": user_name, + "surname": user_name, + "admin": True + } + + users = await list_users() or [] + label = any(u.admin for u in users) + + if not label: + await create_user(UserCreate(**admin_user)) + +def start(log_level: str): + uvicorn.run( + "server.backend.endpoints.endpoints:api", + host="0.0.0.0", + port=settings.PORT, + reload=False, + log_level=log_level, + access_log=True + ) + parser = argparse.ArgumentParser(description="logging and admin creation") parser.add_argument( "--mode", - choices=["debug","info"], + choices=["debug", "info"], default="info", - help="Режим логирования (по умолчанию: info)" + help="Режим логирования" ) parser.add_argument( "--user_name", type=str, required=True, - help="Создание первого пользователя)" + help="Создание первого пользователя" ) args = parser.parse_args() -async def arguments(args): - admin_user = { - "code": "123456", - "name": args.user_name, - "surname": args.user_name, - "admin": True - } - users = await list_users() or [] - label = any(u.admin for u in users) - if not label: - await create_user(UserCreate(**admin_user)) - match args.mode: - case "debug" | "info": - print("Режим:", args.mode) - start(args.mode) -asyncio.run(arguments(args)) + +if __name__ == "__main__": + asyncio.run(init_admin(args.user_name)) + + print("Режим:", args.mode) + + start(args.mode) \ No newline at end of file