dimwap commited on
Commit
7c4ea28
·
verified ·
1 Parent(s): ae1e942

Update App2nd.py

Browse files
Files changed (1) hide show
  1. App2nd.py +23 -58
App2nd.py CHANGED
@@ -7,68 +7,33 @@ from dotenv import load_dotenv
7
  # load env
8
  load_dotenv()
9
 
10
- #def process_text(text):
11
- # # Создаем DataFrame с введенным текстом
12
- # data = {'text': [text]}
13
- # df = pd.DataFrame(data)
14
- # return df # Возвращаем DataFrame, который будет result_df
15
 
16
- def process_text(text):
17
- # 1. Создаем данные
18
- df = pd.DataFrame({"ввод": [text]})
19
- file_path = "processed_results.csv"
20
 
21
- # 2. Сохраняем в файл локально (или на HF, если настроено)
22
- df.to_csv(file_path, index=False)
23
-
24
- full_path = os.path.abspath(file_path_path)
25
- print(f"Файл сохранен здесь: {full_path}")
26
 
27
- # 3. Возвращаем путь к файлу для кнопки скачивания
28
  return file_path
29
- """
30
- def analyze_frames(input_text):
31
- hf_token = os.getenv("HF_TOKEN")
32
-
33
- if not hf_token:
34
- return "Ошибка: API-ключ не найден в файле .env"
35
- try:
36
- from huggingface_hub import HfFileSystem
37
- # Создаем объект для доступа к файловой системе на HF Hub
38
- hf_fs = HfFileSystem(token=hf_token)
39
-
40
- save_path = "dimwap/asset/proces_result.csv"
41
- #result_df.to_csv(save_path, index=False)
42
- # Вариант 2: Используя уже созданный hf_fs
43
- with hf_fs.open(save_path, "w") as f:
44
- result_df.to_csv(f, index=False)
45
-
46
- return f"Файл сохранен по пути: {save_path}"
47
- except Exception as e:
48
- return f"Ошибка при анализе файлов: {str(e)}"
49
- """
50
 
51
- def main():
52
- with gr.Blocks() as demo:
53
- with gr.Row():
54
- text_input = gr.Textbox(label="Введите текст")
55
-
56
- with gr.Row():
57
- send_button = gr.Button("Сохранить данные")
58
-
59
- with gr.Row():
60
- # value=None изначально, пока файл не создан
61
- download_button = gr.DownloadButton(label="Скачать CSV", visible=False)
62
-
63
- # Соединяем: по клику вызываем функцию, результат (путь) идет в download_button
64
- send_button.click(
65
- fn=process_text,
66
- inputs=text_input,
67
- outputs=download_button
68
- ).then(lambda: gr.update(visible=True), outputs=download_button)
69
- # Добавили .then, чтобы кнопка скачивания появлялась только после обработки
70
 
71
- demo.launch()
 
 
 
 
 
72
 
73
- if __name__ == "__main__":
74
- main()
 
7
  # load env
8
  load_dotenv()
9
 
10
+ import gradio as gr
11
+ import pandas as pd
12
+ import os
 
 
13
 
14
+ def save_and_download(text):
15
+ if not text:
16
+ return None
 
17
 
18
+ file_path = "results.csv"
19
+ # Создаем таблицу и сохраняем локально в Space
20
+ pd.DataFrame({"ввод": [text]}).to_csv(file_path, index=False)
 
 
21
 
22
+ # Возвращаем путь к файлу — Gradio сам подставит его в кнопку скачивания
23
  return file_path
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24
 
25
+ with gr.Blocks() as demo:
26
+ text_input = gr.Textbox(label="Введите текст")
27
+ send_btn = gr.Button("Сохранить и подготовить файл")
28
+
29
+ # Компонент для скачивания (изначально пустой)
30
+ download_file = gr.File(label="Ваш файл готов")
 
 
 
 
 
 
 
 
 
 
 
 
 
31
 
32
+ # СВЯЗКА: Кнопка вызывает функцию -> Результат (путь) идет в gr.File
33
+ send_btn.click(
34
+ fn=save_and_download,
35
+ inputs=text_input,
36
+ outputs=download_file
37
+ )
38
 
39
+ demo.launch()