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")
|
@api.post("edit_track")
|
||||||
@authenticated_function(api=True)
|
@authenticated_function(api=True)
|
||||||
|
@catch_exceptions
|
||||||
def edit_track(id,title):
|
def edit_track(id,title):
|
||||||
"""Internal Use Only"""
|
"""Internal Use Only"""
|
||||||
result = database.edit_track(id,{'title':title})
|
result = database.edit_track(id,{'title':title})
|
||||||
|
@ -7,6 +7,7 @@ from threading import Lock
|
|||||||
|
|
||||||
from ..pkg_global.conf import data_dir
|
from ..pkg_global.conf import data_dir
|
||||||
from .dbcache import cached_wrapper, cached_wrapper_individual
|
from .dbcache import cached_wrapper, cached_wrapper_individual
|
||||||
|
from . import exceptions as exc
|
||||||
|
|
||||||
from doreah.logging import log
|
from doreah.logging import log
|
||||||
from doreah.regular import runhourly, runmonthly
|
from doreah.regular import runhourly, runmonthly
|
||||||
@ -283,7 +284,7 @@ def delete_scrobble(scrobble_id,dbconn=None):
|
|||||||
|
|
||||||
@cached_wrapper
|
@cached_wrapper
|
||||||
@connection_provider
|
@connection_provider
|
||||||
def get_track_id(trackdict,dbconn=None):
|
def get_track_id(trackdict,create_new=True,dbconn=None):
|
||||||
ntitle = normalize_name(trackdict['title'])
|
ntitle = normalize_name(trackdict['title'])
|
||||||
artist_ids = [get_artist_id(a) for a in trackdict['artists']]
|
artist_ids = [get_artist_id(a) for a in trackdict['artists']]
|
||||||
artist_ids = list(set(artist_ids))
|
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])
|
#print("ID for",trackdict['title'],"was",row[0])
|
||||||
return row.id
|
return row.id
|
||||||
|
|
||||||
|
if not create_new: return None
|
||||||
|
|
||||||
|
|
||||||
op = DB['tracks'].insert().values(
|
op = DB['tracks'].insert().values(
|
||||||
**track_dict_to_db(trackdict)
|
**track_dict_to_db(trackdict)
|
||||||
@ -372,8 +375,16 @@ def edit_artist(id,artistupdatedict,dbconn=None):
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
@connection_provider
|
@connection_provider
|
||||||
def edit_track(id,trackdict,dbconn=None):
|
def edit_track(id,trackupdatedict,dbconn=None):
|
||||||
dbentry = track_dict_to_db(trackdict)
|
|
||||||
|
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(
|
op = DB['tracks'].update().where(
|
||||||
DB['tracks'].c.id==id
|
DB['tracks'].c.id==id
|
||||||
|
Loading…
x
Reference in New Issue
Block a user