Remove unused functions for adding and syncing named entities in settings; streamline entity processing logic

This commit is contained in:
Yaro Kasear 2025-06-23 16:22:13 -05:00
parent 9a1dffcf8d
commit 87fa623cde

View file

@ -398,39 +398,6 @@ def search():
@main.route('/settings', methods=['GET', 'POST']) @main.route('/settings', methods=['GET', 'POST'])
def settings(): def settings():
def add_named_entities(items: list[str], model, attr: str, mapper: dict | None = None):
for name in items:
clean = name.strip()
if clean:
new_obj = model(**{attr: clean}) # type: ignore
db.session.add(new_obj)
if mapper is not None:
db.session.flush()
mapper[clean] = new_obj.id
def sync_named_entities(
submitted_items: list,
existing_items: set,
model,
attr: str,
label: str
):
submitted_names = {
str(item.get("name", "")).strip()
for item in submitted_items
if isinstance(item, dict) and str(item.get("name", "")).strip()
}
print(f"🔍 {label} in DB: {existing_items}")
print(f"🆕 {label} submitted: {submitted_names}")
print(f" {label} to delete: {existing_items - submitted_names}")
for name in submitted_names - existing_items:
db.session.add(model(**{attr: name}))
for name in existing_items - submitted_names:
print(f"🗑️ Deleting {label}: {name}")
db.session.execute(delete(model).where(getattr(model, attr) == name))
def process_entities(entity_list, model, attr, key_name="name"): def process_entities(entity_list, model, attr, key_name="name"):
"""Upserts and deletes based on entity name field.""" """Upserts and deletes based on entity name field."""
existing = {getattr(e, attr): e.id for e in db.session.query(model).all()} existing = {getattr(e, attr): e.id for e in db.session.query(model).all()}