awacke1 commited on
Commit
3f7e7ca
ยท
verified ยท
1 Parent(s): 3b9852b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -15
app.py CHANGED
@@ -192,29 +192,29 @@ def delete_record(container, record, partition_key_field=None):
192
 
193
  # Determine partition key value
194
  if partition_key_field:
195
- # Use specified partition key field from the record
196
  partition_key_value = record.get(partition_key_field)
197
  if partition_key_value is None:
198
  return False, f"Partition key field '{partition_key_field}' not found in record {doc_id}. ๐Ÿ›‘"
199
  else:
200
- # If no partition key field specified, try to use the ID as the partition key
201
- # (common when partition key is same as ID)
202
  partition_key_value = doc_id
203
 
 
 
 
204
  # Perform the deletion
205
  container.delete_item(item=doc_id, partition_key=partition_key_value)
206
- return True, f"Record {doc_id} successfully deleted. ๐Ÿ—‘๏ธ"
207
 
208
  except exceptions.CosmosResourceNotFoundError:
209
- # Document doesn't exist, treat as success since goal is deletion
210
- return True, f"Record {doc_id} not found (already deleted?). ๐Ÿ—‘๏ธ"
211
  except exceptions.CosmosHttpResponseError as e:
212
- # Specific HTTP errors (e.g., wrong partition key)
213
  return False, f"HTTP error deleting {doc_id}: {str(e)}. ๐Ÿšจ"
214
  except Exception as e:
215
  # Unexpected errors with full traceback
216
  return False, f"Unexpected error deleting {doc_id}: {str(traceback.format_exc())}. ๐Ÿ˜ฑ"
217
-
218
 
219
 
220
 
@@ -637,13 +637,14 @@ def main():
637
  if st.button("๐Ÿ—‘๏ธ Delete", key=f'delete_{st.session_state.current_index}'):
638
  try:
639
  current_doc = json.loads(doc_str)
640
- doc_id = current_doc.get("id")
641
- if not doc_id:
642
- st.error("Missing ID")
643
- return
644
- container.delete_item(item=doc_id, partition_key=doc_id)
645
- st.success(f"Deleted {doc_id}")
646
- st.rerun()
 
647
  except Exception as e:
648
  st.error(f"Delete err: {str(e)}")
649
  elif selected_view == 'Run AI':
 
192
 
193
  # Determine partition key value
194
  if partition_key_field:
 
195
  partition_key_value = record.get(partition_key_field)
196
  if partition_key_value is None:
197
  return False, f"Partition key field '{partition_key_field}' not found in record {doc_id}. ๐Ÿ›‘"
198
  else:
199
+ # Default to ID if no partition key field is specified
 
200
  partition_key_value = doc_id
201
 
202
+ # Debug info
203
+ st.write(f"Attempting to delete: ID={doc_id}, Partition Key={partition_key_value}")
204
+
205
  # Perform the deletion
206
  container.delete_item(item=doc_id, partition_key=partition_key_value)
207
+ return True, f"Record {doc_id} successfully deleted from Cosmos DB. ๐Ÿ—‘๏ธ"
208
 
209
  except exceptions.CosmosResourceNotFoundError:
210
+ # Document doesn't exist, which is fine for a delete operation
211
+ return True, f"Record {doc_id} not found in Cosmos DB (already deleted or never existed). ๐Ÿ—‘๏ธ"
212
  except exceptions.CosmosHttpResponseError as e:
213
+ # Other HTTP errors (e.g., wrong partition key, permissions)
214
  return False, f"HTTP error deleting {doc_id}: {str(e)}. ๐Ÿšจ"
215
  except Exception as e:
216
  # Unexpected errors with full traceback
217
  return False, f"Unexpected error deleting {doc_id}: {str(traceback.format_exc())}. ๐Ÿ˜ฑ"
 
218
 
219
 
220
 
 
637
  if st.button("๐Ÿ—‘๏ธ Delete", key=f'delete_{st.session_state.current_index}'):
638
  try:
639
  current_doc = json.loads(doc_str)
640
+ # Adjust this to your actual partition key field (e.g., "testPART", "category", or None if ID is the partition key)
641
+ partition_key_field = "testPART" # Confirm this matches your container's partition key
642
+ success, message = delete_record(container, current_doc, partition_key_field)
643
+ if success:
644
+ st.success(message) # Display as success even if not found
645
+ st.rerun()
646
+ else:
647
+ st.error(message)
648
  except Exception as e:
649
  st.error(f"Delete err: {str(e)}")
650
  elif selected_view == 'Run AI':