Added pulse on artist and track pages

This commit is contained in:
Krateng 2019-02-19 23:18:46 +01:00
parent 5e98338c2a
commit a4b95969d5
6 changed files with 68 additions and 7 deletions

View File

@ -26,5 +26,9 @@
<h2><a href='/toptracks?artist=KEY_ENC_ARTISTNAME'>Tracks</a></h2> <h2><a href='/toptracks?artist=KEY_ENC_ARTISTNAME'>Tracks</a></h2>
KEY_TRACKLIST KEY_TRACKLIST
<h2><a href='/pulse?artist=KEY_ENC_ARTISTNAME&step=year&trail=1'>Pulse</a></h2>
KEY_PULSE
</body> </body>
</html> </html>

View File

@ -4,7 +4,7 @@ import json
def instructions(keys,dbport): def instructions(keys,dbport):
from utilities import getArtistInfo from utilities import getArtistInfo
from htmlgenerators import clean, artistLink, artistLinks, trackLink, scrobblesTrackLink from htmlgenerators import clean, artistLink, artistLinks, trackLink, scrobblesTrackLink, getRangeDesc, scrobblesLink
clean(keys) clean(keys)
info = getArtistInfo(keys["artist"]) info = getArtistInfo(keys["artist"])
@ -45,7 +45,29 @@ def instructions(keys,dbport):
html += "</table>" html += "</table>"
# pulse
response = urllib.request.urlopen("http://[::1]:" + str(dbport) + "/pulse?step=year&trail=1&artist=" + urllib.parse.quote(keys["artist"]))
db_data = json.loads(response.read())
terms = db_data["list"]
# build list
maxbar = max([t["scrobbles"] for t in terms])
html_pulse = "<table class='list'>"
for t in terms:
fromstr = "/".join([str(e) for e in t["from"]])
tostr = "/".join([str(e) for e in t["to"]])
html_pulse += "<tr>"
#html += "<td>" + fromstr + "</td>"
#html += "<td>" + tostr + "</td>"
html_pulse += "<td>" + getRangeDesc(t["from"],t["to"]) + "</td>"
html_pulse += "<td class='amount'>" + scrobblesLink({"since":fromstr,"to":tostr},amount=t["scrobbles"],artist=keys["artist"]) + "</td>"
html_pulse += "<td class='bar'>" + scrobblesLink({"since":fromstr,"to":tostr},percent=t["scrobbles"]*100/maxbar,artist=keys["artist"]) + "</td>"
html_pulse += "</tr>"
html_pulse += "</table>"
replace = {"KEY_ARTISTNAME":keys["artist"],"KEY_ENC_ARTISTNAME":urllib.parse.quote(keys["artist"]),"KEY_IMAGEURL":imgurl, "KEY_DESCRIPTION":"","KEY_TRACKLIST":html,"KEY_SCROBBLES":scrobbles,"KEY_POSITION":pos,"KEY_ASSOCIATED":includestr} replace = {"KEY_ARTISTNAME":keys["artist"],"KEY_ENC_ARTISTNAME":urllib.parse.quote(keys["artist"]),"KEY_IMAGEURL":imgurl, "KEY_DESCRIPTION":"","KEY_TRACKLIST":html,"KEY_SCROBBLES":scrobbles,"KEY_POSITION":pos,"KEY_ASSOCIATED":includestr,"KEY_PULSE":html_pulse}
return (replace,pushresources) return (replace,pushresources)

View File

@ -52,7 +52,6 @@ def instructions(keys,dbport):
# build list # build list
maxbar = max([t["scrobbles"] for t in terms]) maxbar = max([t["scrobbles"] for t in terms])
i = 1
html = "<table class='list'>" html = "<table class='list'>"
for t in terms: for t in terms:
fromstr = "/".join([str(e) for e in t["from"]]) fromstr = "/".join([str(e) for e in t["from"]])
@ -64,7 +63,6 @@ def instructions(keys,dbport):
html += "<td class='amount'>" + scrobblesLink({"since":fromstr,"to":tostr},amount=t["scrobbles"],**limitkey) + "</td>" html += "<td class='amount'>" + scrobblesLink({"since":fromstr,"to":tostr},amount=t["scrobbles"],**limitkey) + "</td>"
html += "<td class='bar'>" + scrobblesLink({"since":fromstr,"to":tostr},percent=t["scrobbles"]*100/maxbar,**limitkey) + "</td>" html += "<td class='bar'>" + scrobblesLink({"since":fromstr,"to":tostr},percent=t["scrobbles"]*100/maxbar,**limitkey) + "</td>"
html += "</tr>" html += "</tr>"
i += 1
html += "</table>" html += "</table>"
replace = {"KEY_PULSE_TABLE":html,"KEY_IMAGEURL":imgurl,"KEY_LIMITS":limitstring} replace = {"KEY_PULSE_TABLE":html,"KEY_IMAGEURL":imgurl,"KEY_LIMITS":limitstring}

View File

@ -211,8 +211,16 @@
<br/> <br/>
<h1><a href="/pulse?step=month&trail=1">Pulse</a></h1>
<!--
<a href="/pulse?step=day&trail=1">Days</a>
<a href="/pulse?step=week&trail=1">Weeks</a>
<a href="/pulse?step=month&trail=1">Months</a>
<a href="/pulse?step=year&trail=1">Years</a>
-->
<br/><br/>
<table class='list'> <table class='list'>
<h1><a href="/pulse?step=month&trail=1">Pulse</a></h1>
<tr> <tr>

View File

@ -24,8 +24,14 @@
</tr> </tr>
</table> </table>
<h2><a href='/pulse?KEY_SCROBBLELINK&step=year&trail=1'>Pulse</a></h2>
KEY_PULSE
<h2><a href='/scrobbles?KEY_SCROBBLELINK'>Scrobbles</a></h2> <h2><a href='/scrobbles?KEY_SCROBBLELINK'>Scrobbles</a></h2>
KEY_SCROBBLELIST KEY_SCROBBLELIST
</body> </body>
</html> </html>

View File

@ -4,10 +4,11 @@ import json
def instructions(keys,dbport): def instructions(keys,dbport):
from utilities import getArtistInfo, getTrackInfo from utilities import getArtistInfo, getTrackInfo
from htmlgenerators import clean, artistLink, artistLinks, trackLink, scrobblesTrackLink, keysToUrl, pickKeys, getTimeDesc from htmlgenerators import clean, artistLink, artistLinks, trackLink, scrobblesTrackLink, keysToUrl, pickKeys, getTimeDesc, getRangeDesc, scrobblesLink
clean(keys) clean(keys)
limitkeys = pickKeys(keys,"artist","title") limitkeys = pickKeys(keys,"artist","title")
trackobject = {"artists":limitkeys.getall("artist"),"title":limitkeys.get("title")}
info = getTrackInfo(keys.getall("artist"),keys.get("title")) info = getTrackInfo(keys.getall("artist"),keys.get("title"))
imgurl = info.get("image") imgurl = info.get("image")
pushresources = [{"file":imgurl,"type":"image"}] if imgurl.startswith("/") else [] pushresources = [{"file":imgurl,"type":"image"}] if imgurl.startswith("/") else []
@ -33,8 +34,30 @@ def instructions(keys,dbport):
html += "</tr>" html += "</tr>"
html += "</table>" html += "</table>"
# pulse
response = urllib.request.urlopen("http://[::1]:" + str(dbport) + "/pulse?step=year&trail=1&" + keysToUrl(limitkeys))
db_data = json.loads(response.read())
terms = db_data["list"]
# build list
maxbar = max([t["scrobbles"] for t in terms])
html_pulse = "<table class='list'>"
for t in terms:
fromstr = "/".join([str(e) for e in t["from"]])
tostr = "/".join([str(e) for e in t["to"]])
html_pulse += "<tr>"
#html += "<td>" + fromstr + "</td>"
#html += "<td>" + tostr + "</td>"
html_pulse += "<td>" + getRangeDesc(t["from"],t["to"]) + "</td>"
html_pulse += "<td class='amount'>" + scrobblesLink({"since":fromstr,"to":tostr},amount=t["scrobbles"],track=trackobject) + "</td>"
html_pulse += "<td class='bar'>" + scrobblesLink({"since":fromstr,"to":tostr},percent=t["scrobbles"]*100/maxbar,track=trackobject) + "</td>"
html_pulse += "</tr>"
html_pulse += "</table>"
replace = {"KEY_TRACKTITLE":limitkeys.get("title"),"KEY_ARTISTS":artistLinks(limitkeys.getall("artist")),"KEY_SCROBBLES":scrobblesnum,"KEY_IMAGEURL":imgurl, replace = {"KEY_TRACKTITLE":limitkeys.get("title"),"KEY_ARTISTS":artistLinks(limitkeys.getall("artist")),"KEY_SCROBBLES":scrobblesnum,"KEY_IMAGEURL":imgurl,
"KEY_SCROBBLELINK":keysToUrl(limitkeys),"KEY_SCROBBLELIST":html,"KEY_POSITION":pos} "KEY_SCROBBLELINK":keysToUrl(limitkeys),"KEY_SCROBBLELIST":html,"KEY_POSITION":pos,"KEY_PULSE":html_pulse}
return (replace,pushresources) return (replace,pushresources)