diff --git a/maloja/data_files/settings/default.ini b/maloja/data_files/settings/default.ini index e07427d..505c18f 100644 --- a/maloja/data_files/settings/default.ini +++ b/maloja/data_files/settings/default.ini @@ -67,6 +67,10 @@ DEFAULT_STEP_PULSE = month # display top tiles on artist and track chart pages CHARTS_DISPLAY_TILES = false +# this does not actually block any requests, it's just an interface feature t +# prevent visitors from mindlessly clicking on those options and hogging your cpu +DISCOURAGE_CPU_HEAVY_STATS = false + [Fluff] # how many scrobbles a track needs to aquire this status diff --git a/maloja/jinjaenv/context.py b/maloja/jinjaenv/context.py index 9906877..330d8da 100644 --- a/maloja/jinjaenv/context.py +++ b/maloja/jinjaenv/context.py @@ -55,7 +55,7 @@ def update_jinja_environment(): {"identifier":"alltime","localisation":"All Time","range":malojatime.alltime()} ], "xdelimiters": [ - {"identifier":"daily","replacekeys":{"step":"day","stepn":1},"localisation":"Daily"}, + {"identifier":"daily","replacekeys":{"step":"day","stepn":1},"localisation":"Daily","heavy":True}, {"identifier":"weekly","replacekeys":{"step":"week","stepn":1},"localisation":"Weekly"}, {"identifier":"fortnightly","replacekeys":{"step":"week","stepn":2},"localisation":"Fortnightly"}, {"identifier":"monthly","replacekeys":{"step":"month","stepn":1},"localisation":"Monthly"}, @@ -66,8 +66,8 @@ def update_jinja_environment(): {"identifier":"standard","replacekeys":{"trail":1},"localisation":"Standard"}, {"identifier":"trailing","replacekeys":{"trail":2},"localisation":"Trailing"}, {"identifier":"longtrailing","replacekeys":{"trail":3},"localisation":"Long Trailing"}, - {"identifier":"inert","replacekeys":{"trail":10},"localisation":"Inert"}, - {"identifier":"cumulative","replacekeys":{"trail":math.inf},"localisation":"Cumulative"} + {"identifier":"inert","replacekeys":{"trail":10},"localisation":"Inert","heavy":True}, + {"identifier":"cumulative","replacekeys":{"trail":math.inf},"localisation":"Cumulative","heavy":True} ] } diff --git a/maloja/web/jinja/snippets/timeselection.jinja b/maloja/web/jinja/snippets/timeselection.jinja index fec4bd2..33ee6ba 100644 --- a/maloja/web/jinja/snippets/timeselection.jinja +++ b/maloja/web/jinja/snippets/timeselection.jinja @@ -4,6 +4,7 @@ {% set allkeys = [filterkeys,limitkeys,delimitkeys,amountkeys] | combine_dicts %} + {% if limitkeys != {} %}
@@ -30,6 +31,8 @@ {% for r in xcurrent %} {% if r.range == limitkeys.timerange %} {{ r.localisation }} + {% elif r.heavy and settings('DISCOURAGE_CPU_HEAVY_STATS') %} + {{ r.localisation }} {% else %} {{ r.localisation }} {% endif %} @@ -46,6 +49,8 @@ {# {% if all(r.keys[k] == allkeys[k] for k in r.keys) %} #} {% if r.replacekeys | map('compare_key_in_dicts',r.replacekeys,allkeys) | alltrue %} {{ r.localisation }} + {% elif r.heavy and settings('DISCOURAGE_CPU_HEAVY_STATS') %} + {{ r.localisation }} {% else %} {{ r.localisation }} {% endif %} diff --git a/maloja/web/static/less/maloja.less b/maloja/web/static/less/maloja.less index 3e97ea8..3121a2a 100644 --- a/maloja/web/static/less/maloja.less +++ b/maloja/web/static/less/maloja.less @@ -258,6 +258,11 @@ table.top_info + .stat_module_toptracks table { font-size:80%; } +.blocked { + opacity:0.2; + cursor:not-allowed; +} + input#apikey { font-family:'Ubuntu';