From 65f3dac40acf50e6e79c2b94ed6fa1f862e1932c Mon Sep 17 00:00:00 2001 From: krateng Date: Sat, 26 Feb 2022 21:30:06 +0100 Subject: [PATCH] WHAT THE F*CK AM I DOING --- maloja/database/__init__.py | 74 +++++++++---------- maloja/database/dbcache.py | 6 +- maloja/database/jinjaview.py | 11 ++- maloja/database/sqldb.py | 42 +++++------ maloja/web/jinja/admin_issues.jinja | 2 +- maloja/web/jinja/admin_setup.jinja | 2 +- maloja/web/jinja/charts_artists.jinja | 2 +- maloja/web/jinja/charts_tracks.jinja | 2 +- .../web/jinja/partials/charts_artists.jinja | 4 +- .../jinja/partials/charts_artists_tiles.jinja | 2 +- maloja/web/jinja/partials/charts_tracks.jinja | 4 +- .../jinja/partials/charts_tracks_tiles.jinja | 2 +- maloja/web/jinja/partials/performance.jinja | 2 +- maloja/web/jinja/partials/pulse.jinja | 2 +- maloja/web/jinja/partials/scrobbles.jinja | 2 +- maloja/web/jinja/partials/top_artists.jinja | 2 +- maloja/web/jinja/partials/top_tracks.jinja | 2 +- maloja/web/jinja/scrobbles.jinja | 2 +- maloja/web/jinja/top_artists.jinja | 2 +- maloja/web/jinja/top_tracks.jinja | 2 +- 20 files changed, 89 insertions(+), 80 deletions(-) diff --git a/maloja/database/__init__.py b/maloja/database/__init__.py index 753b232..8153356 100644 --- a/maloja/database/__init__.py +++ b/maloja/database/__init__.py @@ -73,7 +73,7 @@ coa = CollectorAgent() -def incoming_scrobble(artists,title,album=None,albumartists=None,duration=None,length=None,time=None,fix=True,client=None,**kwargs): +def incoming_scrobble(artists,title,album=None,albumartists=None,duration=None,length=None,time=None,fix=True,client=None,dbconn=None,**kwargs): # TODO: just collecting all extra kwargs now. at some point, rework the authenticated api with alt function # to actually look at the converted args instead of the request object and remove the key # so that this function right here doesnt get the key passed to it @@ -106,7 +106,7 @@ def incoming_scrobble(artists,title,album=None,albumartists=None,duration=None,l } - sqldb.add_scrobble(scrobbledict) + sqldb.add_scrobble(scrobbledict,dbconn=dbconn) proxy_scrobble_all(artists,title,time) @@ -125,80 +125,80 @@ def incoming_scrobble(artists,title,album=None,albumartists=None,duration=None,l @waitfordb -def get_scrobbles(**keys): +def get_scrobbles(dbconn=None,**keys): (since,to) = keys.get('timerange').timestamps() if 'artist' in keys: - result = sqldb.get_scrobbles_of_artist(artist=keys['artist'],since=since,to=to) + result = sqldb.get_scrobbles_of_artist(artist=keys['artist'],since=since,to=to,dbconn=dbconn) elif 'track' in keys: - result = sqldb.get_scrobbles_of_track(track=keys['track'],since=since,to=to) + result = sqldb.get_scrobbles_of_track(track=keys['track'],since=since,to=to,dbconn=dbconn) else: - result = sqldb.get_scrobbles(since=since,to=to) + result = sqldb.get_scrobbles(since=since,to=to,dbconn=dbconn) #return result[keys['page']*keys['perpage']:(keys['page']+1)*keys['perpage']] return list(reversed(result)) @waitfordb -def get_scrobbles_num(**keys): - return len(get_scrobbles(**keys)) +def get_scrobbles_num(dbconn=None,**keys): + return len(get_scrobbles(dbconn=dbconn,**keys)) @waitfordb -def get_tracks(artist=None): +def get_tracks(dbconn=None,artist=None): if artist is None: - result = sqldb.get_tracks() + result = sqldb.get_tracks(dbconn=dbconn) else: - result = sqldb.get_tracks_of_artist(artist) + result = sqldb.get_tracks_of_artist(artist,dbconn=dbconn) return result @waitfordb -def get_artists(): - return sqldb.get_artists() +def get_artists(dbconn=None): + return sqldb.get_artists(dbconn=dbconn) @waitfordb -def get_charts_artists(**keys): +def get_charts_artists(dbconn=None,**keys): (since,to) = keys.get('timerange').timestamps() - result = sqldb.count_scrobbles_by_artist(since=since,to=to) + result = sqldb.count_scrobbles_by_artist(since=since,to=to,dbconn=dbconn) return result @waitfordb -def get_charts_tracks(**keys): +def get_charts_tracks(dbconn=None,**keys): (since,to) = keys.get('timerange').timestamps() if 'artist' in keys: - result = sqldb.count_scrobbles_by_track_of_artist(since=since,to=to,artist=keys['artist']) + result = sqldb.count_scrobbles_by_track_of_artist(since=since,to=to,artist=keys['artist'],dbconn=dbconn) else: - result = sqldb.count_scrobbles_by_track(since=since,to=to) + result = sqldb.count_scrobbles_by_track(since=since,to=to,dbconn=dbconn) return result @waitfordb -def get_pulse(**keys): +def get_pulse(dbconn=None,**keys): rngs = ranges(**{k:keys[k] for k in keys if k in ["since","to","within","timerange","step","stepn","trail"]}) results = [] for rng in rngs: - res = get_scrobbles_num(timerange=rng,**{k:keys[k] for k in keys if k != 'timerange'}) + res = get_scrobbles_num(timerange=rng,**{k:keys[k] for k in keys if k != 'timerange'},dbconn=dbconn) results.append({"range":rng,"scrobbles":res}) return results @waitfordb -def get_performance(**keys): +def get_performance(dbconn=None,**keys): rngs = ranges(**{k:keys[k] for k in keys if k in ["since","to","within","timerange","step","stepn","trail"]}) results = [] for rng in rngs: if "track" in keys: - track = sqldb.get_track(sqldb.get_track_id(keys['track'])) - charts = get_charts_tracks(timerange=rng) + track = sqldb.get_track(sqldb.get_track_id(keys['track'],dbconn=dbconn),dbconn=dbconn) + charts = get_charts_tracks(timerange=rng,dbconn=dbconn) rank = None for c in charts: if c["track"] == track: rank = c["rank"] break elif "artist" in keys: - artist = sqldb.get_artist(sqldb.get_artist_id(keys['artist'])) + artist = sqldb.get_artist(sqldb.get_artist_id(keys['artist'],dbconn=dbconn),dbconn=dbconn) # ^this is the most useless line in programming history # but I like consistency - charts = get_charts_artists(timerange=rng) + charts = get_charts_artists(timerange=rng,dbconn=dbconn) rank = None for c in charts: if c["artist"] == artist: @@ -209,14 +209,14 @@ def get_performance(**keys): return results @waitfordb -def get_top_artists(**keys): +def get_top_artists(dbconn=None,**keys): rngs = ranges(**{k:keys[k] for k in keys if k in ["since","to","within","timerange","step","stepn","trail"]}) results = [] for rng in rngs: try: - res = get_charts_artists(timerange=rng)[0] + res = get_charts_artists(timerange=rng,dbconn=dbconn)[0] results.append({"range":rng,"artist":res["artist"],"scrobbles":res["scrobbles"]}) except: results.append({"range":rng,"artist":None,"scrobbles":0}) @@ -225,14 +225,14 @@ def get_top_artists(**keys): @waitfordb -def get_top_tracks(**keys): +def get_top_tracks(dbconn=None,**keys): rngs = ranges(**{k:keys[k] for k in keys if k in ["since","to","within","timerange","step","stepn","trail"]}) results = [] for rng in rngs: try: - res = get_charts_tracks(timerange=rng)[0] + res = get_charts_tracks(timerange=rng,dbconn=dbconn)[0] results.append({"range":rng,"track":res["track"],"scrobbles":res["scrobbles"]}) except: results.append({"range":rng,"track":None,"scrobbles":0}) @@ -240,15 +240,15 @@ def get_top_tracks(**keys): return results @waitfordb -def artist_info(artist): +def artist_info(artist,dbconn=None): - artist = sqldb.get_artist(sqldb.get_artist_id(artist)) - alltimecharts = get_charts_artists(timerange=alltime()) - scrobbles = get_scrobbles_num(artist=artist,timerange=alltime()) + artist = sqldb.get_artist(sqldb.get_artist_id(artist,dbconn=dbconn),dbconn=dbconn) + alltimecharts = get_charts_artists(timerange=alltime(),dbconn=dbconn) + scrobbles = get_scrobbles_num(artist=artist,timerange=alltime(),dbconn=dbconn) #we cant take the scrobble number from the charts because that includes all countas scrobbles try: c = [e for e in alltimecharts if e["artist"] == artist][0] - others = sqldb.get_associated_artists(artist) + others = sqldb.get_associated_artists(artist,dbconn=dbconn) position = c["rank"] return { "artist":artist, @@ -274,10 +274,10 @@ def artist_info(artist): @waitfordb -def track_info(track): +def track_info(track,dbconn=None): - track = sqldb.get_track(sqldb.get_track_id(track)) - alltimecharts = get_charts_tracks(timerange=alltime()) + track = sqldb.get_track(sqldb.get_track_id(track,dbconn=dbconn),dbconn=dbconn) + alltimecharts = get_charts_tracks(timerange=alltime(),dbconn=dbconn) #scrobbles = get_scrobbles_num(track=track,timerange=alltime()) c = [e for e in alltimecharts if e["track"] == track][0] diff --git a/maloja/database/dbcache.py b/maloja/database/dbcache.py index 5e706e5..f3e233e 100644 --- a/maloja/database/dbcache.py +++ b/maloja/database/dbcache.py @@ -31,6 +31,10 @@ def cached_wrapper(inner_func): if not USE_CACHE: return inner_func def outer_func(*args,**kwargs): + if 'dbconn' in kwargs: + conn = kwargs.pop('dbconn') + else: + conn = None global hits, misses key = (serialize(args),serialize(kwargs), inner_func, kwargs.get("since"), kwargs.get("to")) @@ -40,7 +44,7 @@ def cached_wrapper(inner_func): else: misses += 1 - result = inner_func(*args,**kwargs) + result = inner_func(*args,**kwargs,dbconn=conn) cache[key] = result return result diff --git a/maloja/database/jinjaview.py b/maloja/database/jinjaview.py index 7c90935..14ec600 100644 --- a/maloja/database/jinjaview.py +++ b/maloja/database/jinjaview.py @@ -1,12 +1,17 @@ from .. import database +from . sqldb import engine + # this is a wrapper object that provides a DB connection so that one jinja page # (with all its included partials) can use it for all functions # it also translates the non-unpacked calls to unpacked calls that the DB wants class JinjaDBConnection: - def __init__(self): - pass + def __enter__(self): + self.conn = engine.connect() + return self + def __exit__(self, exc_type, exc_value, exc_traceback): + self.conn.close() def __getattr__(self,name): originalmethod = getattr(database,name) @@ -14,6 +19,6 @@ class JinjaDBConnection: kwargs = {} for k in keys: kwargs.update(k) - return originalmethod(**kwargs) + return originalmethod(**kwargs,dbconn=self.conn) return packedmethod diff --git a/maloja/database/sqldb.py b/maloja/database/sqldb.py index c18fb08..2f9ecff 100644 --- a/maloja/database/sqldb.py +++ b/maloja/database/sqldb.py @@ -167,10 +167,10 @@ def artist_dict_to_db(info): ##### Actual Database interactions -def add_scrobble(scrobbledict): +def add_scrobble(scrobbledict,dbconn=None): add_scrobbles([scrobbledict]) -def add_scrobbles(scrobbleslist): +def add_scrobbles(scrobbleslist,dbconn=None): ops = [ DB['scrobbles'].insert().values( @@ -189,7 +189,7 @@ def add_scrobbles(scrobbleslist): ### these will 'get' the ID of an entity, creating it if necessary @cached_wrapper -def get_track_id(trackdict): +def get_track_id(trackdict,dbconn=None): ntitle = normalize_name(trackdict['title']) artist_ids = [get_artist_id(a) for a in trackdict['artists']] @@ -235,7 +235,7 @@ def get_track_id(trackdict): return track_id @cached_wrapper -def get_artist_id(artistname): +def get_artist_id(artistname,dbconn=None): nname = normalize_name(artistname) #print("looking for",nname) @@ -266,7 +266,7 @@ def get_artist_id(artistname): ### Functions that get rows according to parameters @cached_wrapper -def get_scrobbles_of_artist(artist,since=None,to=None): +def get_scrobbles_of_artist(artist,since=None,to=None,dbconn=None): if since is None: since=0 if to is None: to=now() @@ -287,7 +287,7 @@ def get_scrobbles_of_artist(artist,since=None,to=None): return result @cached_wrapper -def get_scrobbles_of_track(track,since=None,to=None): +def get_scrobbles_of_track(track,since=None,to=None,dbconn=None): if since is None: since=0 if to is None: to=now() @@ -307,7 +307,7 @@ def get_scrobbles_of_track(track,since=None,to=None): return result @cached_wrapper -def get_scrobbles(since=None,to=None,resolve_references=True): +def get_scrobbles(since=None,to=None,resolve_references=True,dbconn=None): if since is None: since=0 if to is None: to=now() @@ -324,7 +324,7 @@ def get_scrobbles(since=None,to=None,resolve_references=True): return result @cached_wrapper -def get_artists_of_track(track_id,resolve_references=True): +def get_artists_of_track(track_id,resolve_references=True,dbconn=None): with engine.begin() as conn: op = DB['trackartists'].select().where( DB['trackartists'].c.track_id==track_id @@ -336,7 +336,7 @@ def get_artists_of_track(track_id,resolve_references=True): @cached_wrapper -def get_tracks_of_artist(artist): +def get_tracks_of_artist(artist,dbconn=None): artist_id = get_artist_id(artist) @@ -349,7 +349,7 @@ def get_tracks_of_artist(artist): return tracks_db_to_dict(result) @cached_wrapper -def get_artists(): +def get_artists(dbconn=None): with engine.begin() as conn: op = DB['artists'].select() result = conn.execute(op).all() @@ -357,7 +357,7 @@ def get_artists(): return artists_db_to_dict(result) @cached_wrapper -def get_tracks(): +def get_tracks(dbconn=None): with engine.begin() as conn: op = DB['tracks'].select() result = conn.execute(op).all() @@ -367,7 +367,7 @@ def get_tracks(): ### functions that count rows for parameters @cached_wrapper -def count_scrobbles_by_artist(since,to): +def count_scrobbles_by_artist(since,to,dbconn=None): jointable = sql.join( DB['scrobbles'], DB['trackartists'], @@ -404,7 +404,7 @@ def count_scrobbles_by_artist(since,to): return result @cached_wrapper -def count_scrobbles_by_track(since,to): +def count_scrobbles_by_track(since,to,dbconn=None): with engine.begin() as conn: op = sql.select( @@ -424,7 +424,7 @@ def count_scrobbles_by_track(since,to): return result @cached_wrapper -def count_scrobbles_by_track_of_artist(since,to,artist): +def count_scrobbles_by_track_of_artist(since,to,artist,dbconn=None): artist_id = get_artist_id(artist) @@ -458,7 +458,7 @@ def count_scrobbles_by_track_of_artist(since,to,artist): ### functions that get mappings for several entities -> rows @cached_wrapper -def get_artists_of_tracks(track_ids): +def get_artists_of_tracks(track_ids,dbconn=None): with engine.begin() as conn: op = sql.join(DB['trackartists'],DB['artists']).select().where( DB['trackartists'].c.track_id.in_(track_ids) @@ -472,7 +472,7 @@ def get_artists_of_tracks(track_ids): @cached_wrapper -def get_tracks_map(track_ids): +def get_tracks_map(track_ids,dbconn=None): with engine.begin() as conn: op = DB['tracks'].select().where( DB['tracks'].c.id.in_(track_ids) @@ -487,7 +487,7 @@ def get_tracks_map(track_ids): return tracks @cached_wrapper -def get_artists_map(artist_ids): +def get_artists_map(artist_ids,dbconn=None): with engine.begin() as conn: op = DB['artists'].select().where( DB['artists'].c.id.in_(artist_ids) @@ -505,7 +505,7 @@ def get_artists_map(artist_ids): ### associations @cached_wrapper -def get_associated_artists(*artists): +def get_associated_artists(dbconn=None,*artists): artist_ids = [get_artist_id(a) for a in artists] jointable = sql.join( @@ -524,7 +524,7 @@ def get_associated_artists(*artists): return artists @cached_wrapper -def get_credited_artists(*artists): +def get_credited_artists(dbconn=None,*artists): artist_ids = [get_artist_id(a) for a in artists] jointable = sql.join( @@ -546,7 +546,7 @@ def get_credited_artists(*artists): ### get a specific entity by id @cached_wrapper -def get_track(id): +def get_track(id,dbconn=None): with engine.begin() as conn: op = DB['tracks'].select().where( DB['tracks'].c.id==id @@ -557,7 +557,7 @@ def get_track(id): return track_db_to_dict(trackinfo) @cached_wrapper -def get_artist(id): +def get_artist(id,dbconn=None): with engine.begin() as conn: op = DB['artists'].select().where( DB['artists'].c.id==id diff --git a/maloja/web/jinja/admin_issues.jinja b/maloja/web/jinja/admin_issues.jinja index 931bb4c..bda65bb 100644 --- a/maloja/web/jinja/admin_issues.jinja +++ b/maloja/web/jinja/admin_issues.jinja @@ -33,7 +33,7 @@ {% endblock %} -{% set issuedata = dbp.issues() %} +{% set issuedata = dbc.issues() %} {% block maincontent %} diff --git a/maloja/web/jinja/admin_setup.jinja b/maloja/web/jinja/admin_setup.jinja index d79d9ad..e6313f1 100644 --- a/maloja/web/jinja/admin_setup.jinja +++ b/maloja/web/jinja/admin_setup.jinja @@ -47,7 +47,7 @@ {% endblock %} -{% set rulesets = dbp.get_predefined_rulesets() %} +{% set rulesets = dbc.get_predefined_rulesets() %} {% block maincontent %} diff --git a/maloja/web/jinja/charts_artists.jinja b/maloja/web/jinja/charts_artists.jinja index 3b98975..5c34096 100644 --- a/maloja/web/jinja/charts_artists.jinja +++ b/maloja/web/jinja/charts_artists.jinja @@ -5,7 +5,7 @@ {% endblock %} -{% set charts = dbp.get_charts_artists(filterkeys,limitkeys) %} +{% set charts = dbc.get_charts_artists(filterkeys,limitkeys) %} {% set pages = math.ceil(charts.__len__() / amountkeys.perpage) %} {% if charts[0] is defined %} {% set topartist = charts[0].artist %} diff --git a/maloja/web/jinja/charts_tracks.jinja b/maloja/web/jinja/charts_tracks.jinja index 0208c66..eb7a568 100644 --- a/maloja/web/jinja/charts_tracks.jinja +++ b/maloja/web/jinja/charts_tracks.jinja @@ -7,7 +7,7 @@ {% endblock %} -{% set charts = dbp.get_charts_tracks(filterkeys,limitkeys) %} +{% set charts = dbc.get_charts_tracks(filterkeys,limitkeys) %} {% set pages = math.ceil(charts.__len__() / amountkeys.perpage) %} {% if charts[0] is defined %} {% set toptrack = charts[0].track %} diff --git a/maloja/web/jinja/partials/charts_artists.jinja b/maloja/web/jinja/partials/charts_artists.jinja index a692bb2..f3496fb 100644 --- a/maloja/web/jinja/partials/charts_artists.jinja +++ b/maloja/web/jinja/partials/charts_artists.jinja @@ -2,7 +2,7 @@ {% import 'snippets/entityrow.jinja' as entityrow %} {% if charts is undefined %} - {% set charts = dbp.get_charts_artists(limitkeys) %} + {% set charts = dbc.get_charts_artists(limitkeys) %} {% endif %} {% if compare %} @@ -11,7 +11,7 @@ {% if compare is none %}{% set compare = False %}{% endif %} {% endif %} {% if compare %} - {% set prevartists = dbp.get_charts_artists({'timerange':compare}) %} + {% set prevartists = dbc.get_charts_artists({'timerange':compare}) %} {% set lastranks = {} %} {% for a in prevartists %} diff --git a/maloja/web/jinja/partials/charts_artists_tiles.jinja b/maloja/web/jinja/partials/charts_artists_tiles.jinja index f026867..eb8e2af 100644 --- a/maloja/web/jinja/partials/charts_artists_tiles.jinja +++ b/maloja/web/jinja/partials/charts_artists_tiles.jinja @@ -2,7 +2,7 @@ {% if charts is undefined %} - {% set charts = dbp.get_charts_artists(limitkeys) %} + {% set charts = dbc.get_charts_artists(limitkeys) %} {% endif %} {% set charts_14 = charts | fixlength(14) %} diff --git a/maloja/web/jinja/partials/charts_tracks.jinja b/maloja/web/jinja/partials/charts_tracks.jinja index 24734c8..f9f3d70 100644 --- a/maloja/web/jinja/partials/charts_tracks.jinja +++ b/maloja/web/jinja/partials/charts_tracks.jinja @@ -2,7 +2,7 @@ {% import 'snippets/entityrow.jinja' as entityrow %} {% if charts is undefined %} - {% set charts = dbp.get_charts_tracks(filterkeys,limitkeys) %} + {% set charts = dbc.get_charts_tracks(filterkeys,limitkeys) %} {% endif %} {% if compare %} {% if compare is true %} @@ -10,7 +10,7 @@ {% if compare is none %}{% set compare = False %}{% endif %} {% endif %} {% if compare %} - {% set prevtracks = dbp.get_charts_tracks(filterkeys,{'timerange':compare}) %} + {% set prevtracks = dbc.get_charts_tracks(filterkeys,{'timerange':compare}) %} {% set lastranks = {} %} {% for t in prevtracks %} diff --git a/maloja/web/jinja/partials/charts_tracks_tiles.jinja b/maloja/web/jinja/partials/charts_tracks_tiles.jinja index 2f93b63..155c919 100644 --- a/maloja/web/jinja/partials/charts_tracks_tiles.jinja +++ b/maloja/web/jinja/partials/charts_tracks_tiles.jinja @@ -2,7 +2,7 @@ {% if charts is undefined %} - {% set charts = dbp.get_charts_tracks(filterkeys,limitkeys) %} + {% set charts = dbc.get_charts_tracks(filterkeys,limitkeys) %} {% endif %} {% set charts_14 = charts | fixlength(14) %} diff --git a/maloja/web/jinja/partials/performance.jinja b/maloja/web/jinja/partials/performance.jinja index 6847a7d..6d1c20f 100644 --- a/maloja/web/jinja/partials/performance.jinja +++ b/maloja/web/jinja/partials/performance.jinja @@ -1,6 +1,6 @@ {% import 'snippets/links.jinja' as links %} -{% set ranges = dbp.get_performance(filterkeys,limitkeys,delimitkeys) %} +{% set ranges = dbc.get_performance(filterkeys,limitkeys,delimitkeys) %} {% set minrank = ranges|map(attribute="rank")|reject("none")|max|default(60) %} {% set minrank = minrank + 20 %} diff --git a/maloja/web/jinja/partials/pulse.jinja b/maloja/web/jinja/partials/pulse.jinja index fb1317d..68960e4 100644 --- a/maloja/web/jinja/partials/pulse.jinja +++ b/maloja/web/jinja/partials/pulse.jinja @@ -1,6 +1,6 @@ {% import 'snippets/links.jinja' as links %} -{% set ranges = dbp.get_pulse(filterkeys,limitkeys,delimitkeys) %} +{% set ranges = dbc.get_pulse(filterkeys,limitkeys,delimitkeys) %} {% set maxbar = ranges|map(attribute="scrobbles")|max|default(1) %} {% if maxbar < 1 %}{% set maxbar = 1 %}{% endif %} diff --git a/maloja/web/jinja/partials/scrobbles.jinja b/maloja/web/jinja/partials/scrobbles.jinja index 3c00b3c..2e1848e 100644 --- a/maloja/web/jinja/partials/scrobbles.jinja +++ b/maloja/web/jinja/partials/scrobbles.jinja @@ -1,4 +1,4 @@ -{% set scrobbles = dbp.get_scrobbles(filterkeys,limitkeys,amountkeys) %} +{% set scrobbles = dbc.get_scrobbles(filterkeys,limitkeys,amountkeys) %} {% set firstindex = amountkeys.page * amountkeys.perpage %} {% set lastindex = firstindex + amountkeys.perpage %} diff --git a/maloja/web/jinja/partials/top_artists.jinja b/maloja/web/jinja/partials/top_artists.jinja index 2b750a1..60c1481 100644 --- a/maloja/web/jinja/partials/top_artists.jinja +++ b/maloja/web/jinja/partials/top_artists.jinja @@ -1,7 +1,7 @@ {% import 'snippets/links.jinja' as links %} {% import 'snippets/entityrow.jinja' as entityrow %} -{% set ranges = dbp.get_top_artists(limitkeys,delimitkeys) %} +{% set ranges = dbc.get_top_artists(limitkeys,delimitkeys) %} {% set maxbar = ranges|map(attribute="scrobbles")|max|default(1) %} {% if maxbar < 1 %}{% set maxbar = 1 %}{% endif %} diff --git a/maloja/web/jinja/partials/top_tracks.jinja b/maloja/web/jinja/partials/top_tracks.jinja index 5af27eb..2c766f2 100644 --- a/maloja/web/jinja/partials/top_tracks.jinja +++ b/maloja/web/jinja/partials/top_tracks.jinja @@ -1,7 +1,7 @@ {% import 'snippets/links.jinja' as links %} {% import 'snippets/entityrow.jinja' as entityrow %} -{% set ranges = dbp.get_top_tracks(filterkeys,limitkeys,delimitkeys) %} +{% set ranges = dbc.get_top_tracks(filterkeys,limitkeys,delimitkeys) %} {% set maxbar = ranges|map(attribute="scrobbles")|max|default(1) %} {% if maxbar < 1 %}{% set maxbar = 1 %}{% endif %} diff --git a/maloja/web/jinja/scrobbles.jinja b/maloja/web/jinja/scrobbles.jinja index b7b2819..1847f64 100644 --- a/maloja/web/jinja/scrobbles.jinja +++ b/maloja/web/jinja/scrobbles.jinja @@ -4,7 +4,7 @@ {% import 'snippets/filterdescription.jinja' as filterdesc %} {% import 'snippets/pagination.jinja' as pagination %} -{% set scrobbles = dbp.get_scrobbles(filterkeys,limitkeys,amountkeys) %} +{% set scrobbles = dbc.get_scrobbles(filterkeys,limitkeys,amountkeys) %} {% set pages = math.ceil(scrobbles.__len__() / amountkeys.perpage) %} {% if filterkeys.get('track') is not none %} diff --git a/maloja/web/jinja/top_artists.jinja b/maloja/web/jinja/top_artists.jinja index bc78203..d696093 100644 --- a/maloja/web/jinja/top_artists.jinja +++ b/maloja/web/jinja/top_artists.jinja @@ -4,7 +4,7 @@ -{% set entries = dbp.get_top_artists(limitkeys,delimitkeys) %} +{% set entries = dbc.get_top_artists(limitkeys,delimitkeys) %} {% set repr = entries | find_representative('artist','scrobbles') %} {% set img = "/favicon.png" if repr is none else utilities.get_artist_image(repr.artist) %} diff --git a/maloja/web/jinja/top_tracks.jinja b/maloja/web/jinja/top_tracks.jinja index 99e68a9..cc867f7 100644 --- a/maloja/web/jinja/top_tracks.jinja +++ b/maloja/web/jinja/top_tracks.jinja @@ -4,7 +4,7 @@ -{% set entries = dbp.get_top_tracks(filterkeys,limitkeys,delimitkeys) %} +{% set entries = dbc.get_top_tracks(filterkeys,limitkeys,delimitkeys) %} {% set repr = entries | find_representative('track','scrobbles') %} {% set img = "/favicon.png" if repr is none else utilities.get_track_image(repr.track) %}