bluenevus commited on
Commit
a9dc90a
·
1 Parent(s): 831a192

Update app.py via AI Editor

Browse files
Files changed (1) hide show
  1. app.py +15 -13
app.py CHANGED
@@ -64,12 +64,10 @@ def process_document(action, selected_filename=None, chat_input=None):
64
  global shredded_document, generated_response
65
  logging.info(f"Process document called with action: {action}")
66
 
67
- # Select document content to use, if needed
68
  doc_content = None
69
  if selected_filename and selected_filename in uploaded_documents:
70
  doc_content = uploaded_documents[selected_filename]
71
  elif uploaded_documents:
72
- # Default to the first document if not specified
73
  doc_content = next(iter(uploaded_documents.values()))
74
  selected_filename = next(iter(uploaded_documents.keys()))
75
  else:
@@ -261,13 +259,11 @@ def update_uploaded_docs(content, filename, delete_clicks, children, selected_do
261
  if delete_clicks:
262
  for i, n_click in enumerate(delete_clicks):
263
  if n_click:
264
- # The delete button's id is a dict with 'index' = filename
265
  btn_id = ctx.inputs_list[2][i]['id']
266
  del_filename = btn_id['index']
267
  if del_filename in uploaded_documents:
268
  del uploaded_documents[del_filename]
269
  logging.info(f"Document deleted: {del_filename}")
270
- # If the selected doc is deleted, choose another
271
  if selected_doc == del_filename:
272
  selected_doc = next(iter(uploaded_documents), None)
273
  break
@@ -290,7 +286,6 @@ def handle_upload(content, filename):
290
  if text is None:
291
  return html.Div("Error: Could not decode document. Please upload a valid text file.", style={"wordWrap": "break-word"})
292
  else:
293
- # Already handled and added in update_uploaded_docs
294
  return html.Div(f"Document '{filename}' uploaded successfully.", style={"wordWrap": "break-word"})
295
  return ""
296
 
@@ -312,22 +307,29 @@ def handle_actions(shred_clicks, generate_clicks, compliance_clicks, recover_cli
312
  ctx = callback_context
313
  if not ctx.triggered:
314
  logging.info("No action triggered yet.")
315
- return "No action taken yet."
316
  button_id = ctx.triggered[0]['prop_id'].split('.')[0]
317
  logging.info(f"Button pressed: {button_id}")
 
318
  if button_id == 'shred-action-btn':
319
- return process_document('shred', selected_filename, chat_input)
320
  elif button_id == 'generate-action-btn':
321
- return process_document('generate', selected_filename, chat_input)
322
  elif button_id == 'compliance-action-btn':
323
- return process_document('compliance', selected_filename, chat_input)
324
  elif button_id == 'recover-action-btn':
325
- return process_document('recover', selected_filename, chat_input)
326
  elif button_id == 'board-action-btn':
327
- return process_document('board', selected_filename, chat_input)
328
  elif button_id == 'loe-action-btn':
329
- return process_document('loe', selected_filename, chat_input)
330
- return "Action not implemented yet."
 
 
 
 
 
 
331
 
332
  if __name__ == '__main__':
333
  print("Starting the Dash application...")
 
64
  global shredded_document, generated_response
65
  logging.info(f"Process document called with action: {action}")
66
 
 
67
  doc_content = None
68
  if selected_filename and selected_filename in uploaded_documents:
69
  doc_content = uploaded_documents[selected_filename]
70
  elif uploaded_documents:
 
71
  doc_content = next(iter(uploaded_documents.values()))
72
  selected_filename = next(iter(uploaded_documents.keys()))
73
  else:
 
259
  if delete_clicks:
260
  for i, n_click in enumerate(delete_clicks):
261
  if n_click:
 
262
  btn_id = ctx.inputs_list[2][i]['id']
263
  del_filename = btn_id['index']
264
  if del_filename in uploaded_documents:
265
  del uploaded_documents[del_filename]
266
  logging.info(f"Document deleted: {del_filename}")
 
267
  if selected_doc == del_filename:
268
  selected_doc = next(iter(uploaded_documents), None)
269
  break
 
286
  if text is None:
287
  return html.Div("Error: Could not decode document. Please upload a valid text file.", style={"wordWrap": "break-word"})
288
  else:
 
289
  return html.Div(f"Document '{filename}' uploaded successfully.", style={"wordWrap": "break-word"})
290
  return ""
291
 
 
307
  ctx = callback_context
308
  if not ctx.triggered:
309
  logging.info("No action triggered yet.")
310
+ return html.Div("No action taken yet.", style={"wordWrap": "break-word"})
311
  button_id = ctx.triggered[0]['prop_id'].split('.')[0]
312
  logging.info(f"Button pressed: {button_id}")
313
+ result = ""
314
  if button_id == 'shred-action-btn':
315
+ result = process_document('shred', selected_filename, chat_input)
316
  elif button_id == 'generate-action-btn':
317
+ result = process_document('generate', selected_filename, chat_input)
318
  elif button_id == 'compliance-action-btn':
319
+ result = process_document('compliance', selected_filename, chat_input)
320
  elif button_id == 'recover-action-btn':
321
+ result = process_document('recover', selected_filename, chat_input)
322
  elif button_id == 'board-action-btn':
323
+ result = process_document('board', selected_filename, chat_input)
324
  elif button_id == 'loe-action-btn':
325
+ result = process_document('loe', selected_filename, chat_input)
326
+ else:
327
+ result = "Action not implemented yet."
328
+ if isinstance(result, str) and result.strip().startswith("Error"):
329
+ return html.Div(result, style={"wordWrap": "break-word"})
330
+ if isinstance(result, str) and ("not implemented" in result or "No document uploaded" in result or "Shredding in progress" in result or "Generating response" in result or "Shredded document not available" in result):
331
+ return html.Div(result, style={"wordWrap": "break-word"})
332
+ return dcc.Markdown(result, style={"whiteSpace": "pre-wrap", "wordWrap": "break-word"})
333
 
334
  if __name__ == '__main__':
335
  print("Starting the Dash application...")