Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -118,14 +118,44 @@ def download_current_message_database():
|
|
118 |
df.drop_duplicates(inplace=True)
|
119 |
# Сортируем по 'Дата сохранения' по убыванию
|
120 |
df.sort_values(by='Дата сохранения', ascending=False, inplace=True)
|
121 |
-
# Сохраняем Excel-файл
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
127 |
else:
|
128 |
-
return
|
129 |
|
130 |
|
131 |
def correct_dash_usage(text):
|
@@ -1852,7 +1882,7 @@ with gr.Blocks() as demo:
|
|
1852 |
|
1853 |
with gr.Row():
|
1854 |
download_btn = gr.Button("Выгрузить актуальную базу сообщений")
|
1855 |
-
|
1856 |
|
1857 |
# Очистка всех полей кроме prompt_display
|
1858 |
description_input.change(
|
@@ -2515,10 +2545,18 @@ with gr.Blocks() as demo:
|
|
2515 |
outputs=[save_meta_llama_405b_btn]
|
2516 |
)
|
2517 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2518 |
download_btn.click(
|
2519 |
-
fn=
|
2520 |
inputs=[],
|
2521 |
-
outputs=
|
2522 |
)
|
2523 |
|
2524 |
demo.launch()
|
|
|
118 |
df.drop_duplicates(inplace=True)
|
119 |
# Сортируем по 'Дата сохранения' по убыванию
|
120 |
df.sort_values(by='Дата сохранения', ascending=False, inplace=True)
|
121 |
+
# Сохраняем Excel-файл в памяти
|
122 |
+
output = io.BytesIO()
|
123 |
+
df.to_excel(output, index=False)
|
124 |
+
output.seek(0) # Сбрасываем указатель
|
125 |
+
|
126 |
+
# Кодируем содержимое файла в base64 для загрузки на GitHub
|
127 |
+
content = base64.b64encode(output.read()).decode('utf-8')
|
128 |
+
|
129 |
+
# Параметры для загрузки файла на GitHub
|
130 |
+
repo = "fruitpicker01/Storage_dev"
|
131 |
+
path = "messages.xlsx"
|
132 |
+
url = f"https://api.github.com/repos/{repo}/contents/{path}"
|
133 |
+
|
134 |
+
# Проверяем, существует ли файл уже
|
135 |
+
get_response = requests.get(url, headers=headers)
|
136 |
+
if get_response.status_code == 200:
|
137 |
+
sha = get_response.json()['sha']
|
138 |
+
else:
|
139 |
+
sha = None
|
140 |
+
|
141 |
+
data = {
|
142 |
+
"message": f"Обновлен файл messages.xlsx",
|
143 |
+
"content": content,
|
144 |
+
}
|
145 |
+
if sha:
|
146 |
+
data["sha"] = sha # Необходимо для обновления существующего файла
|
147 |
+
|
148 |
+
# Загружаем (или обновляем) файл на GitHub
|
149 |
+
put_response = requests.put(url, headers=headers, data=json.dumps(data))
|
150 |
+
if put_response.status_code in [200, 201]:
|
151 |
+
# Получаем ссылку для скачивания файла
|
152 |
+
download_url = f"https://raw.githubusercontent.com/{repo}/main/{path}"
|
153 |
+
return download_url # Возвращаем URL файла
|
154 |
+
else:
|
155 |
+
print(f"Ошибка при загрузке файла на GitHub: {put_response.status_code}, {put_response.text}")
|
156 |
+
return "Ошибка при загрузке файла на GitHub."
|
157 |
else:
|
158 |
+
return "Нет данных для формирования файла."
|
159 |
|
160 |
|
161 |
def correct_dash_usage(text):
|
|
|
1882 |
|
1883 |
with gr.Row():
|
1884 |
download_btn = gr.Button("Выгрузить актуальную базу сообщений")
|
1885 |
+
download_link = gr.Markdown(value="", label="Ссылка для скачивания")
|
1886 |
|
1887 |
# Очистка всех полей кроме prompt_display
|
1888 |
description_input.change(
|
|
|
2545 |
outputs=[save_meta_llama_405b_btn]
|
2546 |
)
|
2547 |
|
2548 |
+
# Свяжите кнопку с функцией
|
2549 |
+
def update_download_link():
|
2550 |
+
link = download_current_message_database()
|
2551 |
+
if link.startswith("http"):
|
2552 |
+
return f"[Скачать базу сообщений]({link})"
|
2553 |
+
else:
|
2554 |
+
return link # Возвращаем сообщение об ошибке
|
2555 |
+
|
2556 |
download_btn.click(
|
2557 |
+
fn=update_download_link,
|
2558 |
inputs=[],
|
2559 |
+
outputs=download_link
|
2560 |
)
|
2561 |
|
2562 |
demo.launch()
|