siddhartharya commited on
Commit
4d7269c
·
verified ·
1 Parent(s): f36a8fd

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +18 -15
app.py CHANGED
@@ -469,23 +469,23 @@ def process_uploaded_file(file, state_bookmarks):
469
 
470
  if file is None:
471
  logger.warning("No file uploaded")
472
- return "Please upload a bookmarks HTML file.", '', state_bookmarks, gr.update(choices=[])
473
 
474
  try:
475
  file_content = file.decode('utf-8')
476
  except UnicodeDecodeError as e:
477
  logger.error(f"Error decoding the file: {e}", exc_info=True)
478
- return "Error decoding the file. Please ensure it's a valid HTML file.", '', state_bookmarks, gr.update(choices=[])
479
 
480
  try:
481
  bookmarks = parse_bookmarks(file_content)
482
  except Exception as e:
483
  logger.error(f"Error parsing bookmarks: {e}", exc_info=True)
484
- return "Error parsing the bookmarks HTML file.", '', state_bookmarks, gr.update(choices=[])
485
 
486
  if not bookmarks:
487
  logger.warning("No bookmarks found in the uploaded file")
488
- return "No bookmarks found in the uploaded file.", '', state_bookmarks, gr.update(choices=[])
489
 
490
  # Assign unique IDs to bookmarks
491
  for idx, bookmark in enumerate(bookmarks):
@@ -505,7 +505,7 @@ def process_uploaded_file(file, state_bookmarks):
505
  faiss_index = vectorize_and_index(bookmarks)
506
  except Exception as e:
507
  logger.error(f"Error building FAISS index: {e}", exc_info=True)
508
- return "Error building search index.", '', state_bookmarks, gr.update(choices=[])
509
 
510
  message = f"✅ Successfully processed {len(bookmarks)} bookmarks."
511
  logger.info(message)
@@ -518,7 +518,7 @@ def process_uploaded_file(file, state_bookmarks):
518
  # Update state
519
  state_bookmarks = bookmarks.copy()
520
 
521
- return message, bookmark_html, state_bookmarks, gr.update(choices=choices)
522
 
523
  def delete_selected_bookmarks(selected_indices, state_bookmarks):
524
  """
@@ -526,7 +526,7 @@ def delete_selected_bookmarks(selected_indices, state_bookmarks):
526
  """
527
  global bookmarks, faiss_index
528
  if not selected_indices:
529
- return "⚠️ No bookmarks selected.", gr.update(choices=[]), display_bookmarks()
530
 
531
  ids_to_delete = []
532
  indices_to_delete = []
@@ -554,16 +554,16 @@ def delete_selected_bookmarks(selected_indices, state_bookmarks):
554
  # Update state
555
  state_bookmarks = bookmarks.copy()
556
 
557
- return message, gr.update(choices=choices), display_bookmarks()
558
 
559
  def edit_selected_bookmarks_category(selected_indices, new_category, state_bookmarks):
560
  """
561
  Edit category of selected bookmarks.
562
  """
563
  if not selected_indices:
564
- return "⚠️ No bookmarks selected.", gr.update(choices=[]), display_bookmarks(), state_bookmarks
565
  if not new_category:
566
- return "⚠️ No new category selected.", gr.update(choices=[]), display_bookmarks(), state_bookmarks
567
 
568
  indices = [int(s.split('.')[0])-1 for s in selected_indices]
569
  for idx in indices:
@@ -581,7 +581,7 @@ def edit_selected_bookmarks_category(selected_indices, new_category, state_bookm
581
  # Update state
582
  state_bookmarks = bookmarks.copy()
583
 
584
- return message, gr.update(choices=choices), display_bookmarks(), state_bookmarks()
585
 
586
  def export_bookmarks():
587
  """
@@ -722,7 +722,7 @@ def build_app():
722
  # Initialize state
723
  state_bookmarks = gr.State([])
724
 
725
- # Define 'bookmark_selector' first
726
  bookmark_selector = gr.CheckboxGroup(
727
  label="✅ Select Bookmarks",
728
  choices=[]
@@ -773,7 +773,7 @@ Navigate through the tabs to explore each feature in detail.
773
  process_button.click(
774
  process_uploaded_file,
775
  inputs=[upload, state_bookmarks],
776
- outputs=[output_text, bookmark_display, state_bookmarks, bookmark_display, bookmark_selector]
777
  )
778
 
779
  with gr.Tab("Chat with Bookmarks"):
@@ -843,8 +843,8 @@ Navigate through the tabs to explore each feature in detail.
843
  bookmark_display_manage = gr.HTML(label="📄 Bookmarks")
844
 
845
  with gr.Row():
846
- # Render 'bookmark_selector' inside the tab
847
- bookmark_selector.render()
848
 
849
  with gr.Row():
850
  delete_button = gr.Button("🗑️ Delete Selected")
@@ -885,6 +885,9 @@ Navigate through the tabs to explore each feature in detail.
885
 
886
  logger.info("Launching Gradio app")
887
  demo.launch(debug=True)
 
 
 
888
  except Exception as e:
889
  logger.error(f"Error building the app: {e}", exc_info=True)
890
  print(f"Error building the app: {e}")
 
469
 
470
  if file is None:
471
  logger.warning("No file uploaded")
472
+ return "Please upload a bookmarks HTML file.", '', state_bookmarks, gr.CheckboxGroup.update(choices=[])
473
 
474
  try:
475
  file_content = file.decode('utf-8')
476
  except UnicodeDecodeError as e:
477
  logger.error(f"Error decoding the file: {e}", exc_info=True)
478
+ return "Error decoding the file. Please ensure it's a valid HTML file.", '', state_bookmarks, gr.CheckboxGroup.update(choices=[])
479
 
480
  try:
481
  bookmarks = parse_bookmarks(file_content)
482
  except Exception as e:
483
  logger.error(f"Error parsing bookmarks: {e}", exc_info=True)
484
+ return "Error parsing the bookmarks HTML file.", '', state_bookmarks, gr.CheckboxGroup.update(choices=[])
485
 
486
  if not bookmarks:
487
  logger.warning("No bookmarks found in the uploaded file")
488
+ return "No bookmarks found in the uploaded file.", '', state_bookmarks, gr.CheckboxGroup.update(choices=[])
489
 
490
  # Assign unique IDs to bookmarks
491
  for idx, bookmark in enumerate(bookmarks):
 
505
  faiss_index = vectorize_and_index(bookmarks)
506
  except Exception as e:
507
  logger.error(f"Error building FAISS index: {e}", exc_info=True)
508
+ return "Error building search index.", '', state_bookmarks, gr.CheckboxGroup.update(choices=[])
509
 
510
  message = f"✅ Successfully processed {len(bookmarks)} bookmarks."
511
  logger.info(message)
 
518
  # Update state
519
  state_bookmarks = bookmarks.copy()
520
 
521
+ return message, bookmark_html, state_bookmarks, gr.CheckboxGroup.update(choices=choices)
522
 
523
  def delete_selected_bookmarks(selected_indices, state_bookmarks):
524
  """
 
526
  """
527
  global bookmarks, faiss_index
528
  if not selected_indices:
529
+ return "⚠️ No bookmarks selected.", gr.CheckboxGroup.update(choices=[]), display_bookmarks()
530
 
531
  ids_to_delete = []
532
  indices_to_delete = []
 
554
  # Update state
555
  state_bookmarks = bookmarks.copy()
556
 
557
+ return message, gr.CheckboxGroup.update(choices=choices), display_bookmarks()
558
 
559
  def edit_selected_bookmarks_category(selected_indices, new_category, state_bookmarks):
560
  """
561
  Edit category of selected bookmarks.
562
  """
563
  if not selected_indices:
564
+ return "⚠️ No bookmarks selected.", gr.CheckboxGroup.update(choices=[]), display_bookmarks(), state_bookmarks
565
  if not new_category:
566
+ return "⚠️ No new category selected.", gr.CheckboxGroup.update(choices=[]), display_bookmarks(), state_bookmarks
567
 
568
  indices = [int(s.split('.')[0])-1 for s in selected_indices]
569
  for idx in indices:
 
581
  # Update state
582
  state_bookmarks = bookmarks.copy()
583
 
584
+ return message, gr.CheckboxGroup.update(choices=choices), display_bookmarks(), state_bookmarks
585
 
586
  def export_bookmarks():
587
  """
 
722
  # Initialize state
723
  state_bookmarks = gr.State([])
724
 
725
+ # Define 'bookmark_selector' once
726
  bookmark_selector = gr.CheckboxGroup(
727
  label="✅ Select Bookmarks",
728
  choices=[]
 
773
  process_button.click(
774
  process_uploaded_file,
775
  inputs=[upload, state_bookmarks],
776
+ outputs=[output_text, bookmark_display, state_bookmarks, bookmark_selector]
777
  )
778
 
779
  with gr.Tab("Chat with Bookmarks"):
 
843
  bookmark_display_manage = gr.HTML(label="📄 Bookmarks")
844
 
845
  with gr.Row():
846
+ # Include 'bookmark_selector' directly in the layout
847
+ bookmark_selector
848
 
849
  with gr.Row():
850
  delete_button = gr.Button("🗑️ Delete Selected")
 
885
 
886
  logger.info("Launching Gradio app")
887
  demo.launch(debug=True)
888
+ except gr.Error as e:
889
+ logger.error(f"Gradio Error: {e}", exc_info=True)
890
+ print(f"Gradio Error: {e}")
891
  except Exception as e:
892
  logger.error(f"Error building the app: {e}", exc_info=True)
893
  print(f"Error building the app: {e}")