File size: 3,422 Bytes
1ba0699 d18a176 1ba0699 d18a176 1ba0699 9c876a9 1ba0699 113590b d18a176 113590b d18a176 113590b d18a176 113590b 1ba0699 94b7a9f 3680a73 1846b35 39e03e0 1846b35 39e03e0 1846b35 3680a73 1846b35 3680a73 94b7a9f 1ba0699 113590b 1ba0699 d18a176 |
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 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
import gradio as gr
import os
# Загрузка данных с диска, если они есть
try:
with open("data.txt", "r") as f:
data = f.read()
except FileNotFoundError:
data = ""
def get_data(password):
"""Функция для получения данных с диска."""
if password == os.environ.get("password"):
return data
else:
raise gr.Error("Неверный пароль!")
def send_data(password, text):
"""Функция для сохранения данных на диск."""
if password == os.environ.get("password"):
global data
data = text
with open("data.txt", "w") as f:
f.write(data)
raise gr.Info("Данные успешно сохранены!")
with open("data.txt", "r") as l:
return l.read()
else:
raise gr.Error("Неверный пароль!")
css = """
footer {
visibility: hidden !important;
}
.dark {
--container-radius: 18px !important;
--block-border-width: 0px !important;
--block-radius: 18px !important;
--border-color-primary: #2c0039 !important;
--block-background-fill: #202020 !important;
--body-background-fill: #000000 !important;
--input-background-fill: #151515 !important;
--input-radius: 14px !important;
--checkbox-label-border-width: 0px !important;
--block-label-border-width: 0px !important;
--input-border-width: 0px !important;
}
.primary {
color: #FFF !important;
font-size: 16px !important;
padding: 10px 20px !important;
border: 3px solid rgb(234 181 238) !important;
border-radius: 15px !important;
text-decoration: none !important;
transition: 0.5s ease-in-out !important;
font-weight: normal !important;
background: none !important;
}
.primary:hover {
background: rgb(234 181 238) !important;
color: #000 !important;
}
div.svelte-19hvt5v {
border: 0px solid #510067 !important;
background: #101010;
}
.selected.svelte-1uw5tnk {
border-color: #510067 !important;
border-width: 0px !important;
}
.tab-nav.svelte-1uw5tnk {
border-bottom: 0px solid #510067 !important;
}
.secondary {
color: #FFF !important;
font-size: 18px !important;
border: 3px solid rgb(96 55 103) !important;
border-radius: 20px !important;
transition: background-color 0.5s ease-in-out !important;
width: 100% !important;
background-color: transparent !important;
height: 50px !important;
font-weight: bold !important;
align-items: center !important;
justify-content: center !important;
background: none !important;
}
.secondary:hover {
background-color: rgb(96 55 103);
}
.svelte-zyxd38 {
display: none !important;
visibility: hidden !important
}
"""
with gr.Blocks(css=css) as demo:
with gr.Row():
password_input = gr.Textbox(type="password", label="Введите пароль:")
with gr.Row():
text_input = gr.Textbox(label="Введите текст:")
with gr.Row():
get_button = gr.Button("Получить")
send_button = gr.Button("Отправить")
with gr.Row():
output_text = gr.Textbox(label="Результат:")
get_button.click(get_data, inputs=password_input, outputs=output_text)
send_button.click(send_data, inputs=[password_input, text_input], outputs=output_text)
demo.launch() |