Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -587,12 +587,35 @@ def load_previous_user_request_from_github():
|
|
587 |
response = requests.get(url, headers=headers)
|
588 |
if response.status_code == 200:
|
589 |
files = response.json()
|
590 |
-
|
|
|
|
|
591 |
if not json_files:
|
592 |
-
return products[0], "", "", "", "", "", None, None, None, None, None, "", "", "", "", "", ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
593 |
current_request_index -= 1
|
|
|
|
|
594 |
if abs(current_request_index) > len(json_files):
|
595 |
current_request_index = -len(json_files)
|
|
|
|
|
596 |
target_file = json_files[current_request_index]
|
597 |
file_url = target_file['download_url']
|
598 |
file_response = requests.get(file_url)
|
@@ -609,9 +632,10 @@ def load_previous_user_request_from_github():
|
|
609 |
personalization_params += [None]*(6-len(personalization_params))
|
610 |
return (selected_product, description, product_name, benefits, key_message, approach, *personalization_params)
|
611 |
else:
|
612 |
-
return products[0], "", "", "", "", "", None, None, None, None, None, "", "", "", "", "", ""
|
613 |
else:
|
614 |
-
return products[0], "", "", "", "", "", None, None, None, None, None, "", "", "", "", "", ""
|
|
|
615 |
|
616 |
def generate_final_prompt_from_display(prompt_text, single_approach, is_prompt_1=True):
|
617 |
chosen_prefix = approach_dict[single_approach]["prefix"]
|
|
|
587 |
response = requests.get(url, headers=headers)
|
588 |
if response.status_code == 200:
|
589 |
files = response.json()
|
590 |
+
|
591 |
+
# Фильтруем только user_request_*.json
|
592 |
+
json_files = [f for f in files if f['name'].startswith("user_request_") and f['name'].endswith(".json")]
|
593 |
if not json_files:
|
594 |
+
return (products[0], "", "", "", "", "", None, None, None, None, None, "", "", "", "", "", "")
|
595 |
+
|
596 |
+
# Сортируем по числу после user_request_
|
597 |
+
# Разделяем на части user_request_XXXX.json -> берем XXXX как int
|
598 |
+
# Затем сортируем по этому числу
|
599 |
+
def extract_timestamp(name):
|
600 |
+
# name выглядит как "user_request_1735391048.json"
|
601 |
+
base = name.split('.')[0] # "user_request_1735391048"
|
602 |
+
part = base.split('_', maxsplit=1) # ["user_request", "1735391048"]
|
603 |
+
if len(part) == 2 and part[1].isdigit():
|
604 |
+
return int(part[1])
|
605 |
+
return 0 # fallback, если что-то не так
|
606 |
+
json_files.sort(key=lambda f: extract_timestamp(f['name']), reverse=True)
|
607 |
+
|
608 |
+
# Теперь самый новый (с максимальным числом) — json_files[0]
|
609 |
+
# «Предыдущий» в списке — json_files[1], и так далее.
|
610 |
+
|
611 |
+
# Уменьшаем current_request_index
|
612 |
current_request_index -= 1
|
613 |
+
|
614 |
+
# Если индекс ушёл за границы — можно «закольцевать» или «защелкивать»:
|
615 |
if abs(current_request_index) > len(json_files):
|
616 |
current_request_index = -len(json_files)
|
617 |
+
|
618 |
+
# Берём файл
|
619 |
target_file = json_files[current_request_index]
|
620 |
file_url = target_file['download_url']
|
621 |
file_response = requests.get(file_url)
|
|
|
632 |
personalization_params += [None]*(6-len(personalization_params))
|
633 |
return (selected_product, description, product_name, benefits, key_message, approach, *personalization_params)
|
634 |
else:
|
635 |
+
return (products[0], "", "", "", "", "", None, None, None, None, None, "", "", "", "", "", "")
|
636 |
else:
|
637 |
+
return (products[0], "", "", "", "", "", None, None, None, None, None, "", "", "", "", "", "")
|
638 |
+
|
639 |
|
640 |
def generate_final_prompt_from_display(prompt_text, single_approach, is_prompt_1=True):
|
641 |
chosen_prefix = approach_dict[single_approach]["prefix"]
|