mirror of
https://github.com/krateng/maloja.git
synced 2025-07-09 03:04:07 -04:00
Fixed renaming track to existing track
This commit is contained in:
parent
fbbd959295
commit
ff71a9c526
@ -621,6 +621,7 @@ def edit_artist(id,name):
|
||||
|
||||
@api.post("edit_track")
|
||||
@authenticated_function(api=True)
|
||||
@catch_exceptions
|
||||
def edit_track(id,title):
|
||||
"""Internal Use Only"""
|
||||
result = database.edit_track(id,{'title':title})
|
||||
|
@ -7,6 +7,7 @@ from threading import Lock
|
||||
|
||||
from ..pkg_global.conf import data_dir
|
||||
from .dbcache import cached_wrapper, cached_wrapper_individual
|
||||
from . import exceptions as exc
|
||||
|
||||
from doreah.logging import log
|
||||
from doreah.regular import runhourly, runmonthly
|
||||
@ -283,7 +284,7 @@ def delete_scrobble(scrobble_id,dbconn=None):
|
||||
|
||||
@cached_wrapper
|
||||
@connection_provider
|
||||
def get_track_id(trackdict,dbconn=None):
|
||||
def get_track_id(trackdict,create_new=True,dbconn=None):
|
||||
ntitle = normalize_name(trackdict['title'])
|
||||
artist_ids = [get_artist_id(a) for a in trackdict['artists']]
|
||||
artist_ids = list(set(artist_ids))
|
||||
@ -313,6 +314,8 @@ def get_track_id(trackdict,dbconn=None):
|
||||
#print("ID for",trackdict['title'],"was",row[0])
|
||||
return row.id
|
||||
|
||||
if not create_new: return None
|
||||
|
||||
|
||||
op = DB['tracks'].insert().values(
|
||||
**track_dict_to_db(trackdict)
|
||||
@ -372,8 +375,16 @@ def edit_artist(id,artistupdatedict,dbconn=None):
|
||||
return True
|
||||
|
||||
@connection_provider
|
||||
def edit_track(id,trackdict,dbconn=None):
|
||||
dbentry = track_dict_to_db(trackdict)
|
||||
def edit_track(id,trackupdatedict,dbconn=None):
|
||||
|
||||
track = get_track(id)
|
||||
track.update(trackupdatedict)
|
||||
|
||||
dbentry = track_dict_to_db(trackupdatedict)
|
||||
|
||||
existing_track = get_track_id(track,create_new=False,dbconn=dbconn)
|
||||
if existing_track:
|
||||
raise exc.TrackExists(track)
|
||||
|
||||
op = DB['tracks'].update().where(
|
||||
DB['tracks'].c.id==id
|
||||
|
Loading…
x
Reference in New Issue
Block a user