File size: 1,481 Bytes
092b169
 
ff52f5f
1779526
 
ff52f5f
1779526
ff52f5f
 
 
1779526
ff52f5f
 
1779526
ff52f5f
 
 
1779526
ff52f5f
 
1779526
ff52f5f
 
1779526
ff52f5f
092b169
 
ff52f5f
 
 
 
 
37b635d
 
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
51
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: Текст
    """
    text = Path("README.md").read_text(encoding='utf-8')
    return text[text.find('#'):]


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()