mirror of
https://github.com/krateng/maloja.git
synced 2025-04-15 16:30:32 +03:00
Removed unwanted entity creations, added more errors for missing entities
This commit is contained in:
parent
a47c0da55f
commit
f9ccb10edf
@ -505,7 +505,9 @@ def get_performance(dbconn=None,**keys):
|
||||
|
||||
|
||||
if "track" in keys:
|
||||
track_id = sqldb.get_track_id(keys['track'],dbconn=dbconn)
|
||||
track_id = sqldb.get_track_id(keys['track'],create_new=False,dbconn=dbconn)
|
||||
if not track_id:
|
||||
raise exceptions.TrackDoesNotExist(keys['track'])
|
||||
#track = sqldb.get_track(track_id,dbconn=dbconn)
|
||||
charts = get_charts_tracks(timerange=rng,resolve_ids=False,dbconn=dbconn)
|
||||
rank = None
|
||||
@ -514,7 +516,9 @@ def get_performance(dbconn=None,**keys):
|
||||
rank = c["rank"]
|
||||
break
|
||||
elif "artist" in keys:
|
||||
artist_id = sqldb.get_artist_id(keys['artist'],dbconn=dbconn)
|
||||
artist_id = sqldb.get_artist_id(keys['artist'],create_new=False,dbconn=dbconn)
|
||||
if not artist_id:
|
||||
raise exceptions.ArtistDoesNotExist(keys['artist'])
|
||||
#artist = sqldb.get_artist(artist_id,dbconn=dbconn)
|
||||
# ^this is the most useless line in programming history
|
||||
# but I like consistency
|
||||
@ -525,7 +529,9 @@ def get_performance(dbconn=None,**keys):
|
||||
rank = c["rank"]
|
||||
break
|
||||
elif "album" in keys:
|
||||
album_id = sqldb.get_album_id(keys['album'],dbconn=dbconn)
|
||||
album_id = sqldb.get_album_id(keys['album'],create_new=False,dbconn=dbconn)
|
||||
if not album_id:
|
||||
raise exceptions.AlbumDoesNotExist(keys['album'])
|
||||
#album = sqldb.get_album(album_id,dbconn=dbconn)
|
||||
charts = get_charts_albums(timerange=rng,resolve_ids=False,dbconn=dbconn)
|
||||
rank = None
|
||||
@ -688,7 +694,7 @@ def track_info(dbconn=None,**keys):
|
||||
if track is None: raise exceptions.MissingEntityParameter()
|
||||
|
||||
track_id = sqldb.get_track_id(track,create_new=False,dbconn=dbconn)
|
||||
if not track_id: raise exceptions.TrackDoesNotExist(track['title'])
|
||||
if not track_id: raise exceptions.TrackDoesNotExist(track)
|
||||
|
||||
track = sqldb.get_track(track_id,dbconn=dbconn)
|
||||
alltimecharts = get_charts_tracks(timerange=alltime(),resolve_ids=False,dbconn=dbconn)
|
||||
@ -742,7 +748,7 @@ def album_info(dbconn=None,reduced=False,**keys):
|
||||
if album is None: raise exceptions.MissingEntityParameter()
|
||||
|
||||
album_id = sqldb.get_album_id(album,create_new=False,dbconn=dbconn)
|
||||
if not album_id: raise exceptions.AlbumDoesNotExist(album['albumtitle'])
|
||||
if not album_id: raise exceptions.AlbumDoesNotExist(album)
|
||||
|
||||
album = sqldb.get_album(album_id,dbconn=dbconn)
|
||||
|
||||
@ -891,7 +897,6 @@ def start_db():
|
||||
dbstatus['complete'] = True
|
||||
|
||||
# cache some stuff that we'll probably need
|
||||
# (would be done anyway by start page)
|
||||
with sqldb.engine.connect() as dbconn:
|
||||
with dbconn.begin():
|
||||
for week in ranges(step='week'):
|
||||
|
@ -323,7 +323,8 @@ def album_dict_to_db(info,dbconn=None):
|
||||
|
||||
##### Actual Database interactions
|
||||
|
||||
# TODO: remove all resolve_id args and do that logic outside the caching
|
||||
# TODO: remove all resolve_id args and do that logic outside the caching to improve hit chances
|
||||
# TODO: maybe also factor out all intitial get entity funcs (some here, some in __init__) and throw exceptions
|
||||
|
||||
@connection_provider
|
||||
def add_scrobble(scrobbledict,update_album=False,dbconn=None):
|
||||
@ -836,9 +837,9 @@ def get_scrobbles_of_artist(artist,since=None,to=None,resolve_references=True,li
|
||||
if to is None: to=now()
|
||||
|
||||
if associated:
|
||||
artist_ids = get_associated_artists(artist,resolve_ids=False,dbconn=dbconn) + [get_artist_id(artist,dbconn=dbconn)]
|
||||
artist_ids = get_associated_artists(artist,resolve_ids=False,dbconn=dbconn) + [get_artist_id(artist,create_new=False,dbconn=dbconn)]
|
||||
else:
|
||||
artist_ids = [get_artist_id(artist,dbconn=dbconn)]
|
||||
artist_ids = [get_artist_id(artist,create_new=False,dbconn=dbconn)]
|
||||
|
||||
|
||||
jointable = sql.join(DB['scrobbles'],DB['trackartists'],DB['scrobbles'].c.track_id == DB['trackartists'].c.track_id)
|
||||
@ -879,7 +880,8 @@ def get_scrobbles_of_track(track,since=None,to=None,resolve_references=True,limi
|
||||
if since is None: since=0
|
||||
if to is None: to=now()
|
||||
|
||||
track_id = get_track_id(track,dbconn=dbconn)
|
||||
track_id = get_track_id(track,create_new=False,dbconn=dbconn)
|
||||
|
||||
|
||||
op = DB['scrobbles'].select().where(
|
||||
DB['scrobbles'].c.timestamp<=to,
|
||||
@ -906,7 +908,7 @@ def get_scrobbles_of_album(album,since=None,to=None,resolve_references=True,limi
|
||||
if since is None: since=0
|
||||
if to is None: to=now()
|
||||
|
||||
album_id = get_album_id(album,dbconn=dbconn)
|
||||
album_id = get_album_id(album,create_new=False,dbconn=dbconn)
|
||||
|
||||
jointable = sql.join(DB['scrobbles'],DB['tracks'],DB['scrobbles'].c.track_id == DB['tracks'].c.id)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user