Optimization

This commit is contained in:
Krateng 2019-03-11 23:39:46 +01:00
parent e171ee1793
commit d46ba0a366
7 changed files with 31 additions and 28 deletions

View File

@ -1,18 +1,18 @@
from htmlgenerators import *
import database
from utilities import getArtistsInfo, getTracksInfo
from utilities import getArtistsInfo, getTracksInfo, getArtistInfo, getTrackInfo
from malojatime import *
import urllib
def getpictures(ls,result,tracks=False):
from utilities import getArtistsInfo, getTracksInfo
if tracks:
for element in getTracksInfo(ls):
result.append(element.get("image"))
else:
for element in getArtistsInfo(ls):
result.append(element.get("image"))
#def getpictures(ls,result,tracks=False):
# from utilities import getArtistsInfo, getTracksInfo
# if tracks:
# for element in getTracksInfo(ls):
# result.append(element.get("image"))
# else:
# for element in getArtistsInfo(ls):
# result.append(element.get("image"))
# artist=None,track=None,since=None,to=None,within=None,associated=False,max_=None,pictures=False
@ -25,7 +25,8 @@ def module_scrobblelist(max_=None,pictures=False,shortTimeDesc=False,**kwargs):
if pictures:
scrobbleswithpictures = scrobbles if max_ is None else scrobbles[:max_]
#scrobbleimages = [e.get("image") for e in getTracksInfo(scrobbleswithpictures)] #will still work with scrobble objects as they are a technically a subset of track objects
scrobbleimages = ["/image?title=" + urllib.parse.quote(t["title"]) + "&" + "&".join(["artist=" + urllib.parse.quote(a) for a in t["artists"]]) for t in scrobbleswithpictures]
#scrobbleimages = ["/image?title=" + urllib.parse.quote(t["title"]) + "&" + "&".join(["artist=" + urllib.parse.quote(a) for a in t["artists"]]) for t in scrobbleswithpictures]
scrobbleimages = [getTrackInfo(t["artists"],t["title"],fast=True).get("image") for t in scrobbleswithpictures]
representative = scrobbles[0] if len(scrobbles) is not 0 else None
@ -153,7 +154,7 @@ def module_artistcharts(max_=None,**kwargs):
return (html, representative)
def module_artistcharts_tiles(**kwargs) :
def module_artistcharts_tiles(**kwargs):
kwargs_filter = pickKeys(kwargs,"associated") #not used right now
kwargs_time = pickKeys(kwargs,"since","to","within")
@ -184,7 +185,8 @@ def module_artistcharts_tiles(**kwargs) :
rank = i if e["scrobbles"] != rnk[1] else rnk[0]
rnk = (rank,e["scrobbles"])
rank = "#" + str(rank)
image = "/image?artist=" + urllib.parse.quote(e["artist"])
#image = "/image?artist=" + urllib.parse.quote(e["artist"])
image = getArtistInfo(e["artist"],fast=True).get("image")
link = artistLink(e["artist"])
else:
rank = ""
@ -207,7 +209,7 @@ def module_artistcharts_tiles(**kwargs) :
return html
def module_trackcharts_tiles(**kwargs) :
def module_trackcharts_tiles(**kwargs):
kwargs_filter = pickKeys(kwargs,"artist","associated")
kwargs_time = pickKeys(kwargs,"since","to","within")
@ -239,7 +241,8 @@ def module_trackcharts_tiles(**kwargs) :
rank = i if e["scrobbles"] != rnk[1] else rnk[0]
rnk = (rank,e["scrobbles"])
rank = "#" + str(rank)
image = "/image?title=" + urllib.parse.quote(e["track"]["title"]) + "&" + "&".join(["artist=" + urllib.parse.quote(a) for a in e["track"]["artists"]])
#image = "/image?title=" + urllib.parse.quote(e["track"]["title"]) + "&" + "&".join(["artist=" + urllib.parse.quote(a) for a in e["track"]["artists"]])
image = getTrackInfo(e["track"]["artists"],e["track"]["title"],fast=True).get("image")
link = trackLink(e["track"])
else:
rank = ""

View File

@ -300,7 +300,7 @@ def getTrackInfo(artists,title,fast=False):
# fast request only retuns cached and local results, generates redirect link for rest
if fast:
return "/image?title=" + urllib.parse.quote(title) + "&" + "&".join(["artist=" + urllib.parse.quote(a) for a in artists])
return {"image":"/image?title=" + urllib.parse.quote(title) + "&" + "&".join(["artist=" + urllib.parse.quote(a) for a in artists])}
result = apirequest(artists=artists,title=title)
if result.get("image") is not None:
@ -340,7 +340,7 @@ def getArtistInfo(artist,fast=False):
# fast request only retuns cached and local results, generates redirect link for rest
if fast:
return "/image?artist=" + urllib.parse.quote(artist)
return {"image":"/image?artist=" + urllib.parse.quote(artist)}
result = apirequest(artist=artist)

View File

@ -8,7 +8,7 @@ def instructions(keys):
from htmlmodules import module_pulse, module_trackcharts
filterkeys, _, _, _ = KeySplit(keys,forceArtist=True)
info = getArtistInfo(filterkeys["artist"])
info = getArtistInfo(filterkeys["artist"],fast=True)
imgurl = info.get("image")
pushresources = [{"file":imgurl,"type":"image"}] if imgurl.startswith("/") else []

View File

@ -32,11 +32,11 @@ def instructions(keys):
# get image
if filterkeys.get("track") is not None:
imgurl = getTrackInfo(filterkeys.get("track")["artists"],filterkeys.get("track")["title"]).get("image")
imgurl = getTrackInfo(filterkeys.get("track")["artists"],filterkeys.get("track")["title"],fast=True).get("image")
elif filterkeys.get("artist") is not None:
imgurl = getArtistInfo(keys.get("artist")).get("image")
imgurl = getArtistInfo(keys.get("artist"),fast=True).get("image")
elif rep is not None:
imgurl = getTrackInfo(rep["artists"],rep["title"]).get("image")
imgurl = getTrackInfo(rep["artists"],rep["title"],fast=True).get("image")
else:
imgurl = ""

View File

@ -74,10 +74,10 @@
<div class="sidelist">
<h1><a href="/scrobbles?max=100">Last Scrobbles</a></h1>
<span class="stats">Today</span> KEY_SCROBBLES_TODAY
<span class="stats">This month</span> KEY_SCROBBLES_MONTH
<span class="stats">This year</span> KEY_SCROBBLES_YEAR
<span class="stats">All Time</span> KEY_SCROBBLES_TOTAL
<span class="stats">Today</span> KEY_SCROBBLE_NUM_TODAY
<span class="stats">This month</span> KEY_SCROBBLE_NUM_MONTH
<span class="stats">This year</span> KEY_SCROBBLE_NUM_YEAR
<span class="stats">All Time</span> KEY_SCROBBLE_NUM_TOTAL
<br/><br/>
<span class="stat_module">KEY_SCROBBLES</span>

View File

@ -86,12 +86,12 @@ def instructions(keys):
replace = {
# "KEY_ARTISTIMAGE":artistimages,"KEY_ARTISTNAME":artisttitles,"KEY_ARTISTLINK":artistlinks,"KEY_POSITION_ARTIST":posrange,
# "KEY_TRACKIMAGE":trackimages,"KEY_TRACKNAME":tracktitles,"KEY_TRACKLINK":tracklinks,"KEY_POSITION_TRACK":posrange,
# "KEY_SCROBBLE_TIME":scrobbletimes,"KEY_SCROBBLE_ARTISTS":scrobbleartists,"KEY_SCROBBLE_TITLE":scrobbletracklinks,"KEY_SCROBBLE_IMAGE":scrobbleimages,
# "KEY_PULSE_TERM":pulse_rangedescs,"KEY_PULSE_AMOUNT":pulse_amounts,"KEY_PULSE_BAR":pulse_bars
"KEY_TOPARTISTS_TOTAL":topartists_total,"KEY_TOPARTISTS_YEAR":topartists_year,"KEY_TOPARTISTS_MONTH":topartists_month,"KEY_TOPARTISTS_WEEK":topartists_week,
"KEY_TOPTRACKS_TOTAL":toptracks_total,"KEY_TOPTRACKS_YEAR":toptracks_year,"KEY_TOPTRACKS_MONTH":toptracks_month,"KEY_TOPTRACKS_WEEK":toptracks_week,
"KEY_SCROBBLES_TODAY":scrobbles_today,"KEY_SCROBBLES_MONTH":scrobbles_month,"KEY_SCROBBLES_YEAR":scrobbles_year,"KEY_SCROBBLES_TOTAL":scrobbles_total,
#"KEY_SCROBBLE_TIME":scrobbletimes,"KEY_SCROBBLE_ARTISTS":scrobbleartists,"KEY_SCROBBLE_TITLE":scrobbletracklinks,"KEY_SCROBBLE_IMAGE":scrobbleimages,
"KEY_SCROBBLE_NUM_TODAY":scrobbles_today,"KEY_SCROBBLE_NUM_MONTH":scrobbles_month,"KEY_SCROBBLE_NUM_YEAR":scrobbles_year,"KEY_SCROBBLE_NUM_TOTAL":scrobbles_total,
"KEY_SCROBBLES":html_scrobbles,
#"KEY_PULSE_TERM":pulse_rangedescs,"KEY_PULSE_AMOUNT":pulse_amounts,"KEY_PULSE_BAR":pulse_bars
"KEY_PULSE_MONTHS":html_pulse_months,"KEY_PULSE_YEARS":html_pulse_years,"KEY_PULSE_DAYS":html_pulse_days,"KEY_PULSE_WEEKS":html_pulse_weeks,
#"KEY_PULSE_YEAR":html_pulse_year,"KEY_PULSE_MONTH":html_pulse_month,"KEY_PULSE_WEEK":html_pulse_week
}

View File

@ -11,7 +11,7 @@ def instructions(keys):
filterkeys, _, _, _ = KeySplit(keys,forceTrack=True)
track = filterkeys.get("track")
imgurl = getTrackInfo(track["artists"],track["title"]).get("image")
imgurl = getTrackInfo(track["artists"],track["title"],fast=True).get("image")
pushresources = [{"file":imgurl,"type":"image"}] if imgurl.startswith("/") else []
data = database.trackInfo(track["artists"],track["title"])