bluenevus commited on
Commit
78df77f
·
1 Parent(s): f9ae9b8

Update app.py via AI Editor

Browse files
Files changed (1) hide show
  1. app.py +8 -8
app.py CHANGED
@@ -295,8 +295,8 @@ def get_right_col_content(selected_type,
295
  loaded_preview = markdown_narrative_preview(red_doc) if red_doc else html.Div("No Red document loaded.")
296
  elif src == "red_review":
297
  label = "Red Review"
298
- store_var = red_review_doc
299
- loaded_preview = markdown_table_preview(red_review_doc) if red_review_doc else html.Div("No Red Review document loaded.")
300
  elif src == "gold":
301
  label = "Gold Document"
302
  store_var = gold_doc
@@ -580,7 +580,6 @@ def master_callback(
580
  global uploaded_files, uploaded_doc_contents
581
  ctx = callback_context
582
 
583
- # Get lengths for all wildcard outputs for correct no_update list length
584
  wildcard_lengths = [
585
  len(upload_shred_ids) if upload_shred_ids is not None else 0,
586
  len(upload_pink_ids) if upload_pink_ids is not None else 0,
@@ -640,10 +639,12 @@ def master_callback(
640
  # --- File upload/remove logic ---
641
  if ctx.triggered and ctx.triggered[0]['prop_id'].startswith('upload-document'):
642
  new_files = []
 
643
  if upload_contents is not None:
644
  for i, (content, name) in enumerate(zip(upload_contents, upload_filenames)):
645
  file_content = process_document(content, name)
646
  uploaded_files[name] = file_content
 
647
  new_files.append(
648
  dbc.Row([
649
  dbc.Col(
@@ -661,7 +662,8 @@ def master_callback(
661
  elif not isinstance(existing_files, list):
662
  existing_files = [existing_files]
663
  outputs[0] = existing_files + new_files
664
- outputs[1] = current_shred
 
665
  return outputs
666
 
667
  if ctx.triggered and ctx.triggered[0]['prop_id'].startswith("{\"type\":\"remove-file\""):
@@ -704,7 +706,6 @@ def master_callback(
704
  if content is not None:
705
  uploaded_doc_contents[(src, ids[i]['index'])] = (content, filenames[i])
706
  logging.info(f"{ids[i]['index']} {src} file uploaded: {filenames[i]}")
707
- # For wildcard outputs, always return a list with the correct length
708
  name_list = ["" for _ in range(len(contents))]
709
  content_list = [None for _ in range(len(contents))]
710
  radio_list = ["loaded" for _ in range(len(contents))]
@@ -716,7 +717,6 @@ def master_callback(
716
  outputs[radio_idx] = radio_list
717
  return outputs
718
 
719
- # --- Document generation/chat/download logic ---
720
  def gemini_generate(prompt, max_tokens=32798, temperature=0.4):
721
  result_holder = {}
722
  def run_gemini():
@@ -798,11 +798,11 @@ Now, generate the {document_type}:
798
  return loaded_var
799
 
800
  if doc_type == "Shred":
801
- if not uploaded_files:
802
  outputs[20] = html.Div("Please upload a document before shredding.")
803
  outputs[21] = ""
804
  return outputs
805
- file_contents = list(uploaded_files.values())
806
  try:
807
  generated = generate_document(doc_type, file_contents)
808
  outputs[1] = generated
 
295
  loaded_preview = markdown_narrative_preview(red_doc) if red_doc else html.Div("No Red document loaded.")
296
  elif src == "red_review":
297
  label = "Red Review"
298
+ store_var = red_doc
299
+ loaded_preview = markdown_narrative_preview(red_doc) if red_doc else html.Div("No Red Review document loaded.")
300
  elif src == "gold":
301
  label = "Gold Document"
302
  store_var = gold_doc
 
580
  global uploaded_files, uploaded_doc_contents
581
  ctx = callback_context
582
 
 
583
  wildcard_lengths = [
584
  len(upload_shred_ids) if upload_shred_ids is not None else 0,
585
  len(upload_pink_ids) if upload_pink_ids is not None else 0,
 
639
  # --- File upload/remove logic ---
640
  if ctx.triggered and ctx.triggered[0]['prop_id'].startswith('upload-document'):
641
  new_files = []
642
+ last_processed_content = None
643
  if upload_contents is not None:
644
  for i, (content, name) in enumerate(zip(upload_contents, upload_filenames)):
645
  file_content = process_document(content, name)
646
  uploaded_files[name] = file_content
647
+ last_processed_content = file_content
648
  new_files.append(
649
  dbc.Row([
650
  dbc.Col(
 
662
  elif not isinstance(existing_files, list):
663
  existing_files = [existing_files]
664
  outputs[0] = existing_files + new_files
665
+ # Always set the latest uploaded Shred document as store-shred
666
+ outputs[1] = last_processed_content
667
  return outputs
668
 
669
  if ctx.triggered and ctx.triggered[0]['prop_id'].startswith("{\"type\":\"remove-file\""):
 
706
  if content is not None:
707
  uploaded_doc_contents[(src, ids[i]['index'])] = (content, filenames[i])
708
  logging.info(f"{ids[i]['index']} {src} file uploaded: {filenames[i]}")
 
709
  name_list = ["" for _ in range(len(contents))]
710
  content_list = [None for _ in range(len(contents))]
711
  radio_list = ["loaded" for _ in range(len(contents))]
 
717
  outputs[radio_idx] = radio_list
718
  return outputs
719
 
 
720
  def gemini_generate(prompt, max_tokens=32798, temperature=0.4):
721
  result_holder = {}
722
  def run_gemini():
 
798
  return loaded_var
799
 
800
  if doc_type == "Shred":
801
+ if not store_shred:
802
  outputs[20] = html.Div("Please upload a document before shredding.")
803
  outputs[21] = ""
804
  return outputs
805
+ file_contents = [store_shred]
806
  try:
807
  generated = generate_document(doc_type, file_contents)
808
  outputs[1] = generated