import urllib import json def instructions(keys,dbport): from utilities import getArtistInfo from htmlgenerators import clean, artistLink, artistLinks, trackLink, scrobblesTrackLink clean(keys) info = getArtistInfo(keys["artist"]) imgurl = info.get("image") #desc = info.get("info") pushresources = [{"file":imgurl,"type":"image"}] if imgurl.startswith("/") else [] response = urllib.request.urlopen("http://[::1]:" + str(dbport) + "/artistinfo?artist=" + urllib.parse.quote(keys["artist"])) db_data = json.loads(response.read()) scrobbles = str(db_data["scrobbles"]) pos = "#" + str(db_data["position"]) credited = db_data.get("replace") includestr = " " if credited is not None: includestr = "Competing under " + artistLink(credited) + " (" + pos + ")" pos = "" included = db_data.get("associated") if included is not None and included != []: includestr = "associated: " includestr += artistLinks(included) response = urllib.request.urlopen("http://[::1]:" + str(dbport) + "/charts/tracks?artist=" + urllib.parse.quote(keys["artist"])) db_data = json.loads(response.read()) if db_data["list"] != []: maxbar = db_data["list"][0]["scrobbles"] html = "" for e in db_data["list"]: html += "" html += "" html += "" html += "" html += "" html += "" html += "
" + artistLinks(e["track"]["artists"]) + "" + trackLink(e["track"]) + "" + scrobblesTrackLink(e["track"],{},amount=e["scrobbles"]) + "" + scrobblesTrackLink(e["track"],{},percent=e["scrobbles"]*100/maxbar) + "
" 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} return (replace,pushresources)