bluenevus commited on
Commit
15e0047
·
1 Parent(s): 06b2f8b

Update app.py via AI Editor

Browse files
Files changed (1) hide show
  1. app.py +20 -13
app.py CHANGED
@@ -276,7 +276,6 @@ def generate_any_doc(n_clicks_list, btn_ids, radio_values, upload_contents, uplo
276
  if not uploaded_files and doc_type == "Shred":
277
  return html.Div("Please upload a document before shredding."), ""
278
 
279
- # Source selection
280
  source = radio_values[idx] if radio_values and len(radio_values) > idx else 'loaded'
281
  doc_content = None
282
 
@@ -286,13 +285,12 @@ def generate_any_doc(n_clicks_list, btn_ids, radio_values, upload_contents, uplo
286
  generated = generate_document(doc_type, file_contents)
287
  current_document = generated
288
  shredded_document = generated
289
- preview = spreadsheet_preview(generated)
290
  return preview, "Shred generated"
291
  except Exception as e:
292
  logging.error(f"Error generating document: {str(e)}")
293
  return html.Div(f"Error generating document: {str(e)}"), "Error"
294
 
295
- # For all other types
296
  if shredded_document is None:
297
  return html.Div("Please shred a document first."), ""
298
 
@@ -326,12 +324,12 @@ def generate_any_doc(n_clicks_list, btn_ids, radio_values, upload_contents, uplo
326
  generated = generate_document(doc_type, [doc_content, shredded_document])
327
  pink_review_document = generated
328
  current_document = generated
329
- preview = spreadsheet_preview(generated)
330
  return preview, f"{doc_type} generated"
331
  elif doc_type in ["Red Review", "Gold Review", "Virtual Board", "LOE"]:
332
  generated = generate_document(doc_type, [doc_content, shredded_document])
333
  current_document = generated
334
- preview = spreadsheet_preview(generated)
335
  return preview, f"{doc_type} generated"
336
  elif doc_type in ["Pink", "Red", "Gold"]:
337
  generated = generate_document(doc_type, [doc_content])
@@ -362,13 +360,22 @@ def update_uploaded_doc_name(contents, filename, id_dict):
362
  return filename, contents, "uploaded"
363
  return "", None, "loaded"
364
 
365
- def spreadsheet_preview(text):
366
- try:
367
- # Try to parse as CSV, fallback to plain text
368
- df = pd.read_csv(StringIO(text))
369
- return dbc.Table.from_dataframe(df, striped=True, bordered=True, hover=True, size="sm")
370
- except Exception:
371
- return html.Pre(text, style={'whiteSpace': 'pre-wrap', 'fontFamily': 'monospace'})
 
 
 
 
 
 
 
 
 
372
 
373
  def generate_document(document_type, file_contents):
374
  if document_type in spreadsheet_types:
@@ -460,7 +467,7 @@ Now, provide the updated {selected_doc_type}:
460
  current_document = response['choices'][0]['message']['content']
461
  logging.info("Document updated via chat successfully.")
462
  if selected_doc_type in spreadsheet_types:
463
- preview = spreadsheet_preview(current_document)
464
  else:
465
  preview = dcc.Markdown(current_document)
466
  return f"Document updated based on: {chat_input}", preview
 
276
  if not uploaded_files and doc_type == "Shred":
277
  return html.Div("Please upload a document before shredding."), ""
278
 
 
279
  source = radio_values[idx] if radio_values and len(radio_values) > idx else 'loaded'
280
  doc_content = None
281
 
 
285
  generated = generate_document(doc_type, file_contents)
286
  current_document = generated
287
  shredded_document = generated
288
+ preview = spreadsheet_preview(generated, doc_type)
289
  return preview, "Shred generated"
290
  except Exception as e:
291
  logging.error(f"Error generating document: {str(e)}")
292
  return html.Div(f"Error generating document: {str(e)}"), "Error"
293
 
 
294
  if shredded_document is None:
295
  return html.Div("Please shred a document first."), ""
296
 
 
324
  generated = generate_document(doc_type, [doc_content, shredded_document])
325
  pink_review_document = generated
326
  current_document = generated
327
+ preview = spreadsheet_preview(generated, doc_type)
328
  return preview, f"{doc_type} generated"
329
  elif doc_type in ["Red Review", "Gold Review", "Virtual Board", "LOE"]:
330
  generated = generate_document(doc_type, [doc_content, shredded_document])
331
  current_document = generated
332
+ preview = spreadsheet_preview(generated, doc_type)
333
  return preview, f"{doc_type} generated"
334
  elif doc_type in ["Pink", "Red", "Gold"]:
335
  generated = generate_document(doc_type, [doc_content])
 
360
  return filename, contents, "uploaded"
361
  return "", None, "loaded"
362
 
363
+ def spreadsheet_preview(text, doc_type=None):
364
+ if doc_type is None:
365
+ doc_type = ""
366
+ if doc_type in spreadsheet_types:
367
+ try:
368
+ df = pd.read_csv(StringIO(text))
369
+ return dbc.Table.from_dataframe(df, striped=True, bordered=True, hover=True, size="sm")
370
+ except Exception as e:
371
+ logging.error(f"Error parsing CSV for preview: {str(e)}")
372
+ return html.Pre("Unable to display spreadsheet preview. Raw output:\n" + text, style={'whiteSpace': 'pre-wrap', 'fontFamily': 'monospace'})
373
+ else:
374
+ try:
375
+ df = pd.read_csv(StringIO(text))
376
+ return dbc.Table.from_dataframe(df, striped=True, bordered=True, hover=True, size="sm")
377
+ except Exception:
378
+ return html.Pre(text, style={'whiteSpace': 'pre-wrap', 'fontFamily': 'monospace'})
379
 
380
  def generate_document(document_type, file_contents):
381
  if document_type in spreadsheet_types:
 
467
  current_document = response['choices'][0]['message']['content']
468
  logging.info("Document updated via chat successfully.")
469
  if selected_doc_type in spreadsheet_types:
470
+ preview = spreadsheet_preview(current_document, selected_doc_type)
471
  else:
472
  preview = dcc.Markdown(current_document)
473
  return f"Document updated based on: {chat_input}", preview