pentarosarium commited on
Commit
5e55eb8
·
1 Parent(s): e627fc2

4.5 stop management

Browse files
Files changed (1) hide show
  1. app.py +33 -11
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
- output = create_output_file(processed_rows_df, uploaded_file, llm)
1004
- if output is not None:
1005
- st.download_button(
1006
- label=f"📊 Скачать результат ({processed_rows} из {total_rows} строк)",
1007
- data=output,
1008
- file_name="partial_analysis.xlsx",
1009
- mime="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
1010
- key="partial_download"
1011
- )
1012
- break
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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.4.4):::")
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(