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(
|