File size: 1,448 Bytes
092b169
 
ff52f5f
1779526
 
ff52f5f
1779526
ff52f5f
 
 
1779526
ff52f5f
 
1779526
ff52f5f
 
 
1779526
ff52f5f
 
1779526
ff52f5f
 
1779526
ff52f5f
092b169
 
ff52f5f
 
 
 
 
 
092b169
 
ff52f5f
 
 
 
092b169
ff52f5f
859c072
 
092b169
ff52f5f
092b169
 
ff52f5f
1779526
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import streamlit as st

from pathlib import Path


def st_page_rename(pages_name: dict[str, str]) -> None:
    """
    Переименование страниц в сайдбаре
    Временный хак, так как другие способы не сработали
    :param pages_name: Список py файлов и имен
    """
    from streamlit.source_util import get_pages as st_get_pages
    from streamlit.source_util import _on_pages_changed as st_on_pages_changed

    pages = st_get_pages("")
    for page_k, page_v in pages.items():
        script_path = Path(page_v["script_path"])

        for page_name_k, page_name_v in pages_name.items():
            name_path = Path(page_name_k)

            if Path.samefile(script_path, name_path):
                page_v["page_name"] = page_name_v

    st_on_pages_changed.send()


def read_readme() -> str:
    """
    Чтение файла README.md
    :return: Текст
    """
    return Path("README.md").read_text(encoding='utf-8')


def main_app() -> None:
    """
    Запуск основного приложения
    """

    st_page_rename({"run.py": "Главная страница",
                    "pages/page_one.py": "Генератор аудио",
                    "pages/page_two.py": "Описание изображения"})

    st.markdown(read_readme(), unsafe_allow_html=True)


# Запуск через streamlit
main_app()