mirror of
				https://github.com/krateng/maloja.git
				synced 2025-11-04 03:27:05 -05:00 
			
		
		
		
	Modularized more functions, tiles on start page now clickable
This commit is contained in:
		
							parent
							
								
									400c920958
								
							
						
					
					
						commit
						978f4f7788
					
				@ -14,38 +14,75 @@ def entity_column(element,counting=[],image=None):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	if "artists" in element:
 | 
						if "artists" in element:
 | 
				
			||||||
		# track
 | 
							# track
 | 
				
			||||||
		html += "<td class='artists'>" + artistLinks(element["artists"]) + "</td>"
 | 
							html += "<td class='artists'>" + html_links(element["artists"]) + "</td>"
 | 
				
			||||||
		html += "<td class='title'>" + trackLink({"artists":element["artists"],"title":element["title"]}) + "</td>"
 | 
							html += "<td class='title'>" + html_link(element) + "</td>"
 | 
				
			||||||
	else:
 | 
						else:
 | 
				
			||||||
		# artist
 | 
							# artist
 | 
				
			||||||
		html += "<td class='artist'>" + artistLink(element)
 | 
							html += "<td class='artist'>" + html_link(element)
 | 
				
			||||||
		if (counting != []):
 | 
							if (counting != []):
 | 
				
			||||||
			html += " <span class='extra'>incl. " + ", ".join([artistLink(a) for a in counting]) + "</span>"
 | 
								html += " <span class='extra'>incl. " + html_links(counting) + "</span>"
 | 
				
			||||||
		html += "</td>"
 | 
							html += "</td>"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return html
 | 
						return html
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def artistLink(name):
 | 
					def uri_query(entity):
 | 
				
			||||||
	return "<a href='/artist?artist=" + urllib.parse.quote(name) + "'>" + name + "</a>"
 | 
						if "artists" in entity:
 | 
				
			||||||
 | 
							#track
 | 
				
			||||||
 | 
							return "title=" + urllib.parse.quote(entity["title"]) \
 | 
				
			||||||
 | 
								+ "&" + "&".join(["artist=" + urllib.parse.quote(a) for a in entity["artists"]])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						else:
 | 
				
			||||||
 | 
							#artist
 | 
				
			||||||
 | 
							return "artist=" + urllib.parse.quote(entity)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# returns the address of the track / artist page
 | 
				
			||||||
 | 
					def link_address(entity):
 | 
				
			||||||
 | 
						if "artists" in entity:
 | 
				
			||||||
 | 
							#track
 | 
				
			||||||
 | 
							return "/track?" + uri_query(entity)
 | 
				
			||||||
 | 
						else:
 | 
				
			||||||
 | 
							#artist
 | 
				
			||||||
 | 
							return "/artist?" + uri_query(entity)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#returns linked name
 | 
				
			||||||
 | 
					def html_link(entity):
 | 
				
			||||||
 | 
						if "artists" in entity:
 | 
				
			||||||
 | 
							#track
 | 
				
			||||||
 | 
							name = entity["title"]
 | 
				
			||||||
 | 
						else:
 | 
				
			||||||
 | 
							#artist
 | 
				
			||||||
 | 
							name = entity
 | 
				
			||||||
 | 
						return "<a href='" + link_address(entity) + "'>" + name + "</a>"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def html_links(entities):
 | 
				
			||||||
 | 
						return ", ".join([html_link(e) for e in entities])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# DEPRECATED
 | 
				
			||||||
 | 
					def artistLink(name):
 | 
				
			||||||
 | 
						return html_link(name)
 | 
				
			||||||
 | 
						#return "<a href='/artist?artist=" + urllib.parse.quote(name) + "'>" + name + "</a>"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# DEPRECATED
 | 
				
			||||||
def artistLinks(artists):
 | 
					def artistLinks(artists):
 | 
				
			||||||
	return ", ".join([artistLink(a) for a in artists])
 | 
						return ", ".join([artistLink(a) for a in artists])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#def trackLink(artists,title):
 | 
					#def trackLink(artists,title):
 | 
				
			||||||
 | 
					# DEPRECATED
 | 
				
			||||||
def trackLink(track):
 | 
					def trackLink(track):
 | 
				
			||||||
	artists,title = track["artists"],track["title"]
 | 
						return html_link(track)
 | 
				
			||||||
	return "<a href='/track?title=" + urllib.parse.quote(title) + "&" + "&".join(["artist=" + urllib.parse.quote(a) for a in artists]) + "'>" + title + "</a>"
 | 
						#artists,title = track["artists"],track["title"]
 | 
				
			||||||
 | 
						#return "<a href='/track?title=" + urllib.parse.quote(title) + "&" + "&".join(["artist=" + urllib.parse.quote(a) for a in artists]) + "'>" + title + "</a>"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#def scrobblesTrackLink(artists,title,timekeys,amount=None,pixels=None):
 | 
					#def scrobblesTrackLink(artists,title,timekeys,amount=None,pixels=None):
 | 
				
			||||||
def scrobblesTrackLink(track,timekeys,amount=None,percent=None):
 | 
					def scrobblesTrackLink(track,timekeys,amount=None,percent=None):
 | 
				
			||||||
	artists,title = track["artists"],track["title"]
 | 
						artists,title = track["artists"],track["title"]
 | 
				
			||||||
	inner = str(amount) if amount is not None else "<div style='width:" + str(percent) + "%;'></div>"
 | 
						inner = str(amount) if amount is not None else "<div style='width:" + str(percent) + "%;'></div>"
 | 
				
			||||||
	return "<a href='/scrobbles?" + "&".join(["artist=" + urllib.parse.quote(a) for a in artists]) + "&title=" + urllib.parse.quote(title) + "&" + compose_querystring(timekeys) + "'>" + inner + "</a>"
 | 
						return "<a href='/scrobbles?" + uri_query(track) + "&" + compose_querystring(timekeys) + "'>" + inner + "</a>"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def scrobblesArtistLink(artist,timekeys,amount=None,percent=None,associated=False):
 | 
					def scrobblesArtistLink(artist,timekeys,amount=None,percent=None,associated=False):
 | 
				
			||||||
	inner = str(amount) if amount is not None else "<div style='width:" + str(percent) + "%;'></div>"
 | 
						inner = str(amount) if amount is not None else "<div style='width:" + str(percent) + "%;'></div>"
 | 
				
			||||||
	askey = "&associated" if associated else ""
 | 
						askey = "&associated" if associated else ""
 | 
				
			||||||
	return "<a href='/scrobbles?artist=" + urllib.parse.quote(artist) + "&" + compose_querystring(timekeys) + askey + "'>" + inner + "</a>"
 | 
						return "<a href='/scrobbles?" + uri_query(artist) + "&" + compose_querystring(timekeys) + askey + "'>" + inner + "</a>"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def scrobblesLink(timekeys,amount=None,percent=None,artist=None,track=None,associated=False):
 | 
					def scrobblesLink(timekeys,amount=None,percent=None,artist=None,track=None,associated=False):
 | 
				
			||||||
	if track is not None: return scrobblesTrackLink(track,timekeys,amount,percent)
 | 
						if track is not None: return scrobblesTrackLink(track,timekeys,amount,percent)
 | 
				
			||||||
 | 
				
			|||||||
@ -361,19 +361,12 @@ def module_artistcharts_tiles(**kwargs):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if e is not None:
 | 
							if e is not None:
 | 
				
			||||||
			#rank = i if e["scrobbles"] != rnk[1] else rnk[0]
 | 
								html += "<td onclick='window.location.href=\"" \
 | 
				
			||||||
			#rnk = (rank,e["scrobbles"])
 | 
									+ link_address(e["artist"]) \
 | 
				
			||||||
			rank = "#" + str(e["rank"])
 | 
									+ "\"' style='cursor:pointer;background-image:url(\"" + getArtistImage(e["artist"],fast=True) + "\");'>" \
 | 
				
			||||||
			#image = "/image?artist=" + urllib.parse.quote(e["artist"])
 | 
									+ "<span class='stats'>" + "#" + str(e["rank"]) + "</span> <span>" + html_link(e["artist"]) + "</span></td>"
 | 
				
			||||||
			image = getArtistImage(e["artist"],fast=True)
 | 
					 | 
				
			||||||
			link = artistLink(e["artist"])
 | 
					 | 
				
			||||||
		else:
 | 
							else:
 | 
				
			||||||
			rank = ""
 | 
								html += "<td><span class='stats'></span> <span></span></td>"
 | 
				
			||||||
			image = ""
 | 
					 | 
				
			||||||
			link = ""
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		html += """<td style="background-image:url('""" + image + """')"><span class="stats">""" + rank + "</span> <span>" + link + "</span></td>"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
		i += 1
 | 
							i += 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -417,18 +410,12 @@ def module_trackcharts_tiles(**kwargs):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if e is not None:
 | 
							if e is not None:
 | 
				
			||||||
			#rank = i if e["scrobbles"] != rnk[1] else rnk[0]
 | 
								html += "<td onclick='window.location.href=\"" \
 | 
				
			||||||
			#rnk = (rank,e["scrobbles"])
 | 
									+ link_address(e["track"]) \
 | 
				
			||||||
			rank = "#" + str(e["rank"])
 | 
									+ "\"' style='cursor:pointer;background-image:url(\"" + getTrackImage(e["track"]["artists"],e["track"]["title"],fast=True) + "\");'>" \
 | 
				
			||||||
			#image = "/image?title=" + urllib.parse.quote(e["track"]["title"]) + "&" + "&".join(["artist=" + urllib.parse.quote(a) for a in e["track"]["artists"]])
 | 
									+ "<span class='stats'>" + "#" + str(e["rank"]) + "</span> <span>" + html_link(e["track"]) + "</span></td>"
 | 
				
			||||||
			image = getTrackImage(e["track"]["artists"],e["track"]["title"],fast=True)
 | 
					 | 
				
			||||||
			link = trackLink(e["track"])
 | 
					 | 
				
			||||||
		else:
 | 
							else:
 | 
				
			||||||
			rank = ""
 | 
								html += "<td><span class='stats'></span> <span></span></td>"
 | 
				
			||||||
			image = ""
 | 
					 | 
				
			||||||
			link = ""
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		html += """<td style="background-image:url('""" + image + """')"><span class="stats">""" + rank + "</span> <span>" + link + "</span></td>"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
		i += 1
 | 
							i += 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -71,10 +71,9 @@ function onTabUpdated(tabId, changeInfo, tab) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
function onTabRemoved(tabId,removeInfo) {
 | 
					function onTabRemoved(tabId,removeInfo) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	console.log(tabId + " closed")
 | 
					 | 
				
			||||||
	if (tabManagers.hasOwnProperty(tabId)) {
 | 
						if (tabManagers.hasOwnProperty(tabId)) {
 | 
				
			||||||
		page = tabManagers[tabId].page
 | 
							page = tabManagers[tabId].page
 | 
				
			||||||
		console.log("this tab was " + page + ", now removing manager")
 | 
							console.log("closed tab was " + page + ", now removing manager")
 | 
				
			||||||
		tabManagers[tabId].stopPlayback("","") //in case we want to scrobble the playing track
 | 
							tabManagers[tabId].stopPlayback("","") //in case we want to scrobble the playing track
 | 
				
			||||||
		delete tabManagers[tabId]
 | 
							delete tabManagers[tabId]
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user