awacke1 commited on
Commit
09aa776
Β·
verified Β·
1 Parent(s): f8ea9b9

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +18 -59
app.py CHANGED
@@ -516,7 +516,17 @@ def preprocess_text(text):
516
  text = text.strip()
517
  return text
518
 
519
-
 
 
 
 
 
 
 
 
 
 
520
 
521
 
522
  # 🎭 Main function - "All the world's a stage, and all the code merely players" -Shakespeare, probably
@@ -790,10 +800,9 @@ def main():
790
  height=300,
791
  key=f'doc_str_{idx}')
792
 
793
-
794
-
795
  # πŸ’ΎπŸ€– Save and AI operations
796
  col_save, col_ai, col_delete = st.columns(3)
 
797
  with col_save:
798
  if st.button("πŸ’Ύ Save Changes", key=f'save_button_{idx}'):
799
  try:
@@ -808,20 +817,20 @@ def main():
808
  st.error(message)
809
  except json.JSONDecodeError as e:
810
  st.error(f"Invalid JSON: {str(e)} 🚫")
811
-
812
  with col_ai:
813
  if st.button("πŸ€– Run AI", key=f'run_with_ai_button_{idx}'):
814
  search_glossary(json.dumps(editable_doc, indent=2))
815
-
816
  with col_delete:
817
  if st.button("πŸ—‘οΈ Delete Record", key=f'delete_button_{idx}'):
818
- success, message = delete_record(container, doc.get('name', ''), doc.get('id', ''))
 
819
  if success:
820
  st.success(message)
821
  st.rerun() # Refresh the page after deletion
822
  else:
823
  st.error(message)
824
-
825
 
826
  elif selected_view == 'Clone Document':
827
  st.markdown("#### Clone a document:")
@@ -857,6 +866,8 @@ def main():
857
  st.error("Failed to create new document")
858
  except Exception as e:
859
  st.error(f"Error creating document: {str(e)}")
 
 
860
  elif selected_view == 'New Record':
861
  st.markdown("#### Create a new document:")
862
 
@@ -912,58 +923,6 @@ def main():
912
  else:
913
  st.info("No documents to display. 🧐")
914
 
915
- elif selected_view == 'New Record2':
916
- st.markdown("#### Create a new document:")
917
-
918
- if st.button("πŸ€– Insert Auto-Generated Record"):
919
- auto_doc = {
920
- "id": generate_unique_id(),
921
- "name": f"Auto-generated Record {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}",
922
- "content": "This is an auto-generated record.",
923
- "timestamp": datetime.now().isoformat()
924
- }
925
- success, message = save_or_clone_to_cosmos_db(container, document=auto_doc)
926
- if success:
927
- st.success(message)
928
- st.rerun()
929
- else:
930
- st.error(message)
931
- else:
932
- new_id = st.text_input("ID", value=generate_unique_id(), key='new_id')
933
- default_doc = {
934
- "id": new_id,
935
- "name": "New Document",
936
- "content": "",
937
- "timestamp": datetime.now().isoformat()
938
- }
939
- new_doc_str = st.text_area("Document Content (in JSON format)",
940
- value=json.dumps(default_doc, indent=2),
941
- height=300)
942
-
943
- if st.button("βž• Create New Document"):
944
- try:
945
- new_doc = json.loads(new_doc_str)
946
- new_doc['id'] = new_id # Ensure ID matches input field
947
- success, message = insert_record(container, new_doc)
948
- if success:
949
- st.success(f"New document created with id: {new_doc['id']} πŸŽ‰")
950
- st.session_state.selected_document_id = new_doc['id']
951
- st.rerun()
952
- else:
953
- st.error(message)
954
- except json.JSONDecodeError as e:
955
- st.error(f"Invalid JSON: {str(e)} 🚫")
956
-
957
-
958
- st.subheader(f"πŸ“Š Container: {st.session_state.selected_container}")
959
- if st.session_state.selected_container:
960
- if documents_to_display:
961
- Label = '# πŸ“Š Data display - Data tells tales that words cannot'
962
- st.markdown(Label)
963
- df = pd.DataFrame(documents_to_display)
964
- st.dataframe(df)
965
- else:
966
- st.info("No documents to display. 🧐")
967
 
968
 
969
 
 
516
  text = text.strip()
517
  return text
518
 
519
+ # πŸ—‘οΈ Delete record - Saying goodbye to data (with just the id)
520
+ def delete_record(container, id):
521
+ try:
522
+ container.delete_item(item=id, partition_key=id)
523
+ return True, f"Successfully deleted record with id: {id} πŸ—‘οΈ"
524
+ except exceptions.CosmosResourceNotFoundError:
525
+ return False, f"Record with id {id} not found. It may have been already deleted. πŸ•΅οΈβ€β™‚οΈ"
526
+ except exceptions.CosmosHttpResponseError as e:
527
+ return False, f"HTTP error occurred: {str(e)} 🚨"
528
+ except Exception as e:
529
+ return False, f"An unexpected error occurred: {traceback.format_exc()} 😱"
530
 
531
 
532
  # 🎭 Main function - "All the world's a stage, and all the code merely players" -Shakespeare, probably
 
800
  height=300,
801
  key=f'doc_str_{idx}')
802
 
 
 
803
  # πŸ’ΎπŸ€– Save and AI operations
804
  col_save, col_ai, col_delete = st.columns(3)
805
+
806
  with col_save:
807
  if st.button("πŸ’Ύ Save Changes", key=f'save_button_{idx}'):
808
  try:
 
817
  st.error(message)
818
  except json.JSONDecodeError as e:
819
  st.error(f"Invalid JSON: {str(e)} 🚫")
820
+
821
  with col_ai:
822
  if st.button("πŸ€– Run AI", key=f'run_with_ai_button_{idx}'):
823
  search_glossary(json.dumps(editable_doc, indent=2))
824
+
825
  with col_delete:
826
  if st.button("πŸ—‘οΈ Delete Record", key=f'delete_button_{idx}'):
827
+ # Use only the 'id' to delete the record
828
+ success, message = delete_record(container, id=doc.get('id', ''))
829
  if success:
830
  st.success(message)
831
  st.rerun() # Refresh the page after deletion
832
  else:
833
  st.error(message)
 
834
 
835
  elif selected_view == 'Clone Document':
836
  st.markdown("#### Clone a document:")
 
866
  st.error("Failed to create new document")
867
  except Exception as e:
868
  st.error(f"Error creating document: {str(e)}")
869
+
870
+
871
  elif selected_view == 'New Record':
872
  st.markdown("#### Create a new document:")
873
 
 
923
  else:
924
  st.info("No documents to display. 🧐")
925
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
926
 
927
 
928