From 89c1357033e1ea1770c884e5ee46f88ca4bab586 Mon Sep 17 00:00:00 2001 From: xnought Date: Sat, 2 Dec 2023 15:20:02 -0800 Subject: [PATCH] feat: delete species --- backend/src/server.py | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/backend/src/server.py b/backend/src/server.py index 1b00ae08..43395cc2 100644 --- a/backend/src/server.py +++ b/backend/src/server.py @@ -127,17 +127,29 @@ def get_protein_entry(protein_name: str): @app.delete("/protein-entry/{protein_name:str}", response_model=None) def delete_protein_entry(protein_name: str): # Todo, have a meaningful error if the delete fails - try: - with Database() as db: + with Database() as db: + # remove protein + try: db.execute( """DELETE FROM proteins WHERE name = %s""", [protein_name], ) - # delete the file from the data/ folder - os.remove(pdb_file_name(protein_name)) - except Exception as e: - log.error(e) + # delete the file from the data/ folder + os.remove(pdb_file_name(protein_name)) + except Exception as e: + log.error(e) + + # remove species if it has no more proteins + # note that it automatically removes the species from the join table + # don't do this quite yet, since we want to keep our three hard coded species + # try: + # db.execute( + # """DELETE FROM species + # WHERE id NOT IN (SELECT species_id FROM species_proteins)""" + # ) + # except Exception as e: + # log.error(e) # None return means success