This repository has been archived on 2026-04-27. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
watch-together-yandex-disk/main.py
T
2025-07-20 00:51:55 +03:00

68 lines
1.7 KiB
Python

import asyncio
import logging
import os
import pathlib
from nicegui import background_tasks, app
import config
import globals
import web
from movies.db import MoviesDB
from rooms.db import RoomsDB
from users.db import UsersDB
working_dir = pathlib.Path(__file__).resolve().parent
os.chdir(working_dir)
if config.ENABLE_LOGGING:
logging.basicConfig(level=logging.INFO,
format="%(asctime)s - %(levelname)s - %(name)s - %(message)s",
datefmt="%Y-%m-%d %H:%M:%S"
)
async def init_movies_db():
globals.MOVIES_DATABASE = MoviesDB(db_path="data/movies_db.json")
await globals.MOVIES_DATABASE.load_from_disk()
await globals.MOVIES_DATABASE.update()
async def init_users_db():
globals.USERS_DATABASE = UsersDB(db_path="data/users_db.json")
await globals.USERS_DATABASE.load_from_disk()
await globals.USERS_DATABASE.remove_inactive()
async def init_rooms_db():
globals.ROOMS_DATABASE = RoomsDB()
async def before_startup():
if not os.path.exists("data"):
os.mkdir("data")
await init_movies_db()
await init_users_db()
await init_rooms_db()
async def after_startup():
background_tasks.create_lazy(globals.MOVIES_DATABASE.auto_update(), name="movies_db_auto_update")
background_tasks.create_lazy(globals.USERS_DATABASE.auto_remove_inactive(), name="users_db_auto_remove_inactive")
logging.info("Application successfully started!")
asyncio.run(before_startup())
app.on_startup(after_startup())
web.ui.run(
host=config.HOST,
port=config.PORT,
dark=config.USE_DARK_THEME,
reload=False,
show=False,
storage_secret=config.SECRET
)