tts_labeling / app.py
Navid Arabi
load annotation data done
e1df50c
raw
history blame
1.32 kB
import gradio as gr
from pathlib import Path
from utils.logger import Logger
from components.login_page import LoginPage
from components.dashboard_page import DashboardPage
from utils.database import initialize_database
from config import conf
log = Logger()
initialize_database()
CSS_FILE = Path(__file__).parent / "assets" / "styles.css"
custom_css = CSS_FILE.read_text(encoding="utf-8")
def build_app() -> gr.Blocks:
"""
می‌سازد و wiring کل اپلیکیشن را انجام می‌دهد.
"""
demo = gr.Blocks(title=conf.APP_TITLE, css=custom_css)
with demo:
# حالت سراسری برنامه به‌صورت gr.State
session_state = gr.State({})
gr.Markdown(f"### {conf.APP_TITLE}")
# صفحات
login_page = LoginPage()
dashboard_page = DashboardPage()
# اتصال رویدادها
login_page.register_callbacks(dashboard_page, session_state)
dashboard_page.register_callbacks(login_page, session_state, demo)
# صف پردازش گرادیو
demo.queue(default_concurrency_limit=50)
log.info("App Started.")
return demo
if __name__ == "__main__":
# try:
log.info("Launching App ...")
build_app().launch()
# except Exception as err:
# log.error(err)