Spaces:
Running
Running
Commit ·
5e55eb8
1
Parent(s): e627fc2
4.5 stop management
Browse files
app.py
CHANGED
|
@@ -997,19 +997,41 @@ def process_file(uploaded_file, model_choice, translation_method=None):
|
|
| 997 |
|
| 998 |
for idx, row in df.iterrows():
|
| 999 |
# Check for stop/pause
|
|
|
|
| 1000 |
if st.session_state.control.is_stopped():
|
| 1001 |
st.warning("Обработку остановили")
|
| 1002 |
if not processed_rows_df.empty: # Only offer download if we have processed rows
|
| 1003 |
-
|
| 1004 |
-
|
| 1005 |
-
|
| 1006 |
-
|
| 1007 |
-
|
| 1008 |
-
|
| 1009 |
-
|
| 1010 |
-
|
| 1011 |
-
|
| 1012 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1013 |
|
| 1014 |
st.session_state.control.wait_if_paused()
|
| 1015 |
if st.session_state.control.is_paused():
|
|
@@ -1569,7 +1591,7 @@ def main():
|
|
| 1569 |
st.set_page_config(layout="wide")
|
| 1570 |
|
| 1571 |
with st.sidebar:
|
| 1572 |
-
st.title("::: AI-анализ мониторинга новостей (v.
|
| 1573 |
st.subheader("по материалам СКАН-ИНТЕРФАКС")
|
| 1574 |
|
| 1575 |
model_choice = st.radio(
|
|
|
|
| 997 |
|
| 998 |
for idx, row in df.iterrows():
|
| 999 |
# Check for stop/pause
|
| 1000 |
+
# In process_file function, replace the stop handling section:
|
| 1001 |
if st.session_state.control.is_stopped():
|
| 1002 |
st.warning("Обработку остановили")
|
| 1003 |
if not processed_rows_df.empty: # Only offer download if we have processed rows
|
| 1004 |
+
try:
|
| 1005 |
+
# Ensure all required columns exist
|
| 1006 |
+
required_columns = ['Объект', 'Заголовок', 'Выдержки из текста', 'Sentiment', 'Event_Type', 'Event_Summary']
|
| 1007 |
+
for col in required_columns:
|
| 1008 |
+
if col not in processed_rows_df.columns:
|
| 1009 |
+
processed_rows_df[col] = ''
|
| 1010 |
+
|
| 1011 |
+
# Ensure Impact and Reasoning columns exist
|
| 1012 |
+
if 'Impact' not in processed_rows_df.columns:
|
| 1013 |
+
processed_rows_df['Impact'] = 'Неопределенный эффект'
|
| 1014 |
+
if 'Reasoning' not in processed_rows_df.columns:
|
| 1015 |
+
processed_rows_df['Reasoning'] = 'Обработка была остановлена'
|
| 1016 |
+
|
| 1017 |
+
# Create output file
|
| 1018 |
+
output = create_output_file(processed_rows_df, uploaded_file, llm)
|
| 1019 |
+
|
| 1020 |
+
if output is not None:
|
| 1021 |
+
st.download_button(
|
| 1022 |
+
label=f"📊 Скачать результат ({len(processed_rows_df)} из {total_rows} строк)",
|
| 1023 |
+
data=output,
|
| 1024 |
+
file_name="partial_analysis.xlsx",
|
| 1025 |
+
mime="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
|
| 1026 |
+
key="partial_download"
|
| 1027 |
+
)
|
| 1028 |
+
else:
|
| 1029 |
+
st.error("Не удалось создать файл с частичными результатами")
|
| 1030 |
+
|
| 1031 |
+
except Exception as e:
|
| 1032 |
+
st.error(f"Ошибка при создании файла с частичными результатами: {str(e)}")
|
| 1033 |
+
|
| 1034 |
+
return processed_rows_df
|
| 1035 |
|
| 1036 |
st.session_state.control.wait_if_paused()
|
| 1037 |
if st.session_state.control.is_paused():
|
|
|
|
| 1591 |
st.set_page_config(layout="wide")
|
| 1592 |
|
| 1593 |
with st.sidebar:
|
| 1594 |
+
st.title("::: AI-анализ мониторинга новостей (v.)5:::")
|
| 1595 |
st.subheader("по материалам СКАН-ИНТЕРФАКС")
|
| 1596 |
|
| 1597 |
model_choice = st.radio(
|