Fixed more read-only id queries

This commit is contained in:
krateng 2023-03-31 14:59:54 +02:00
parent 2c44745abc
commit 0ba55d466d
2 changed files with 8 additions and 4 deletions

View File

@ -396,17 +396,21 @@ def get_track_id(trackdict,create_new=True,update_album=False,dbconn=None):
#print("required artists",artist_ids,"this match",match_artist_ids) #print("required artists",artist_ids,"this match",match_artist_ids)
if set(artist_ids) == set(match_artist_ids): if set(artist_ids) == set(match_artist_ids):
#print("ID for",trackdict['title'],"was",row[0]) #print("ID for",trackdict['title'],"was",row[0])
if trackdict.get('album'): if trackdict.get('album') and create_new:
# if we don't supply create_new, it means we just want to get info about a track
# which means no need to write album info, even if it was new
add_track_to_album(row.id,get_album_id(trackdict['album'],dbconn=dbconn),replace=update_album,dbconn=dbconn) add_track_to_album(row.id,get_album_id(trackdict['album'],dbconn=dbconn),replace=update_album,dbconn=dbconn)
return row.id return row.id
if not create_new: return None if not create_new: return None
print("Creating new track")
op = DB['tracks'].insert().values( op = DB['tracks'].insert().values(
**track_dict_to_db(trackdict,dbconn=dbconn) **track_dict_to_db(trackdict,dbconn=dbconn)
) )
result = dbconn.execute(op) result = dbconn.execute(op)
track_id = result.inserted_primary_key[0] track_id = result.inserted_primary_key[0]
print(track_id)
for artist_id in artist_ids: for artist_id in artist_ids:
op = DB['trackartists'].insert().values( op = DB['trackartists'].insert().values(

View File

@ -111,20 +111,20 @@ def dl_image(url):
### even if we have already cached it, we will handle that on request ### even if we have already cached it, we will handle that on request
def get_track_image(track=None,track_id=None): def get_track_image(track=None,track_id=None):
if track_id is None: if track_id is None:
track_id = database.sqldb.get_track_id(track) track_id = database.sqldb.get_track_id(track,create_new=False)
return f"/image?type=track&id={track_id}" return f"/image?type=track&id={track_id}"
def get_artist_image(artist=None,artist_id=None): def get_artist_image(artist=None,artist_id=None):
if artist_id is None: if artist_id is None:
artist_id = database.sqldb.get_artist_id(artist) artist_id = database.sqldb.get_artist_id(artist,create_new=False)
return f"/image?type=artist&id={artist_id}" return f"/image?type=artist&id={artist_id}"
def get_album_image(album=None,album_id=None): def get_album_image(album=None,album_id=None):
if album_id is None: if album_id is None:
album_id = database.sqldb.get_album_id(album) album_id = database.sqldb.get_album_id(album,create_new=False)
return f"/image?type=album&id={album_id}" return f"/image?type=album&id={album_id}"