fruitpicker01 commited on
Commit
57841dc
·
verified ·
1 Parent(s): b969fe8

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -6
app.py CHANGED
@@ -49,6 +49,7 @@ for sheet_name, df in data.items():
49
  print(f"Ошибка при обработке данных листа {sheet_name}: {e}")
50
  features[sheet_name] = {}
51
 
 
52
 
53
  def save_user_request_to_github(description, advantages, personalization_params):
54
  # Собираем все данные в один словарь
@@ -83,7 +84,9 @@ def save_user_request_to_github(description, advantages, personalization_params)
83
  print(f"Ошибка при сохранении данных на GitHub: {response.status_code} {response.text}")
84
 
85
 
86
- def load_last_user_request_from_github():
 
 
87
  repo = "fruitpicker01/Storage_dev"
88
  url = f"https://api.github.com/repos/{repo}/contents"
89
  headers = {
@@ -101,9 +104,16 @@ def load_last_user_request_from_github():
101
  print("Нет сохраненных запросов.")
102
  return "", "", None, None, None, None, None, None
103
 
104
- # Находим последний файл (по времени создания)
105
- last_file = max(json_files, key=lambda x: x['name'])
106
- file_url = last_file['download_url']
 
 
 
 
 
 
 
107
 
108
  # Загружаем и декодируем содержимое файла
109
  file_response = requests.get(file_url)
@@ -808,7 +818,7 @@ with gr.Blocks() as demo:
808
  with gr.Row():
809
  submit_btn = gr.Button("1. Создать неперсонализированное сообщение")
810
  personalize_btn = gr.Button("2. Выполнить персонализацию (нажимать только после кнопки 1)", elem_id="personalize_button")
811
- load_btn = gr.Button("Вернуть параметры последнего запроса")
812
 
813
 
814
  # Первый ряд
@@ -945,11 +955,12 @@ with gr.Blocks() as demo:
945
 
946
  # Обработка клика по кнопке восстановления
947
  load_btn.click(
948
- fn=lambda: load_last_user_request_from_github(),
949
  inputs=[],
950
  outputs=[description_input, advantages_input, *selections]
951
  )
952
 
 
953
  # Привязка кнопок к функциям сохранения
954
  save_gpt4o_btn.click(
955
  fn=lambda personalized_message, comment, corrected_message, description, advantages, non_personalized_prompt, non_personalized_message, gender, generation, psychotype, business_stage, industry, legal_form:
 
49
  print(f"Ошибка при обработке данных листа {sheet_name}: {e}")
50
  features[sheet_name] = {}
51
 
52
+ current_request_index = -1 # Изначально указывает на последний запрос
53
 
54
  def save_user_request_to_github(description, advantages, personalization_params):
55
  # Собираем все данные в один словарь
 
84
  print(f"Ошибка при сохранении данных на GitHub: {response.status_code} {response.text}")
85
 
86
 
87
+ def load_previous_user_request_from_github():
88
+ global current_request_index # Используем глобальную переменную
89
+
90
  repo = "fruitpicker01/Storage_dev"
91
  url = f"https://api.github.com/repos/{repo}/contents"
92
  headers = {
 
104
  print("Нет сохраненных запросов.")
105
  return "", "", None, None, None, None, None, None
106
 
107
+ # Определяем новый индекс для загрузки предыдущего файла
108
+ current_request_index -= 1
109
+
110
+ # Если достигли начала списка, остаёмся на первой записи
111
+ if abs(current_request_index) > len(json_files):
112
+ current_request_index = -len(json_files)
113
+
114
+ # Находим файл с нужным индексом
115
+ target_file = json_files[current_request_index]
116
+ file_url = target_file['download_url']
117
 
118
  # Загружаем и декодируем содержимое файла
119
  file_response = requests.get(file_url)
 
818
  with gr.Row():
819
  submit_btn = gr.Button("1. Создать неперсонализированное сообщение")
820
  personalize_btn = gr.Button("2. Выполнить персонализацию (нажимать только после кнопки 1)", elem_id="personalize_button")
821
+ load_btn = gr.Button("Вернуть параметры предыдущего запроса")
822
 
823
 
824
  # Первый ряд
 
955
 
956
  # Обработка клика по кнопке восстановления
957
  load_btn.click(
958
+ fn=lambda: load_previous_user_request_from_github(),
959
  inputs=[],
960
  outputs=[description_input, advantages_input, *selections]
961
  )
962
 
963
+
964
  # Привязка кнопок к функциям сохранения
965
  save_gpt4o_btn.click(
966
  fn=lambda personalized_message, comment, corrected_message, description, advantages, non_personalized_prompt, non_personalized_message, gender, generation, psychotype, business_stage, industry, legal_form: