Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -225,42 +225,42 @@ def download_current_message_database():
|
|
225 |
return "Нет данных для формирования файла.", None
|
226 |
|
227 |
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
|
265 |
|
266 |
def correct_dash_usage(text):
|
|
|
225 |
return "Нет данных для формирования файла.", None
|
226 |
|
227 |
|
228 |
+
def update_download_link():
|
229 |
+
result = download_current_message_database()
|
230 |
+
link, df = result if isinstance(result, tuple) else (result, None)
|
231 |
+
if isinstance(link, str) and link.startswith("http") and df is not None:
|
232 |
+
# Вычисляем аналитику
|
233 |
+
total_messages = len(df)
|
234 |
+
# Количество сообщений по моделям
|
235 |
+
model_counts = df['Модель'].value_counts()
|
236 |
+
# Количество чистых сообщений по моделям
|
237 |
+
clean_df = df[df['Комментарий'].isna() & df['Откорректированное сообщение'].isna()]
|
238 |
+
clean_model_counts = clean_df['Модель'].value_counts()
|
239 |
+
# Наиболее активные контрибьюторы
|
240 |
+
contributor_counts = df['Автор'].value_counts()
|
241 |
+
# Количество сообщений по датам
|
242 |
+
df['Дата сохранения'] = pd.to_datetime(df['Дата сохранения'], errors='coerce')
|
243 |
+
date_counts = df['Дата сохранения'].dt.date.value_counts().sort_index()
|
244 |
+
|
245 |
+
# Подготовка вывода
|
246 |
+
total_messages_display_value = f"**Общее количество сообщений:** {total_messages}"
|
247 |
+
|
248 |
+
# Создаем диаграммы с помощью plotly
|
249 |
+
model_pie_fig = px.pie(values=model_counts.values, names=model_counts.index, title='Количество сообщений по моделям')
|
250 |
+
clean_model_pie_fig = px.pie(values=clean_model_counts.values, names=clean_model_counts.index, title='Количество чистых сообщений по моделям')
|
251 |
+
contributor_pie_fig = px.pie(values=contributor_counts.values, names=contributor_counts.index, title='Наиболее активные контрибьюторы')
|
252 |
+
date_message_fig = px.bar(x=date_counts.index, y=date_counts.values, labels={'x': 'Дата', 'y': 'Количество сообщений'}, title='Количество добавленных сообщений по датам')
|
253 |
+
|
254 |
+
return (
|
255 |
+
f"[Скачать базу сообщений]({link})",
|
256 |
+
total_messages_display_value,
|
257 |
+
model_pie_fig,
|
258 |
+
clean_model_pie_fig,
|
259 |
+
contributor_pie_fig,
|
260 |
+
date_message_fig
|
261 |
+
)
|
262 |
+
else:
|
263 |
+
return link, "", None, None, None, None
|
264 |
|
265 |
|
266 |
def correct_dash_usage(text):
|