musicpom/utils/delete_song_id_from_database.py
2024-08-03 12:44:11 -04:00

24 lines
706 B
Python

import DBA
from components.ErrorDialog import ErrorDialog
def delete_song_id_from_database(song_id: int):
"""
Handles deleting a song from the database by ID
Accounts for playlists and other dependencies
Returns True on success
False on failure/error
"""
try:
with DBA.DBAccess() as db:
db.execute("DELETE FROM song_playlist WHERE song_id = ?", (song_id,))
db.execute("DELETE FROM song WHERE id = ?", (song_id,))
except Exception as e:
dialog = ErrorDialog(
f"delete_song_id_from_database.py | could not delete song id {song_id} from database: {e}"
)
dialog.exec_()
return False
return True