Improved selector module

This commit is contained in:
Krateng 2019-04-08 14:43:25 +02:00
parent 3449752e23
commit 09d5b5c6d8
2 changed files with 44 additions and 27 deletions

View File

@ -2,8 +2,9 @@ from htmlgenerators import *
import database import database
from utilities import getArtistImage, getTrackImage from utilities import getArtistImage, getTrackImage
from malojatime import * from malojatime import *
from urihandler import compose_querystring, internal_to_uri from urihandler import compose_querystring, internal_to_uri, uri_to_internal
import urllib import urllib
import datetime
#def getpictures(ls,result,tracks=False): #def getpictures(ls,result,tracks=False):
@ -445,11 +446,15 @@ def module_trackcharts_tiles(**kwargs):
# THIS FUNCTION USES THE ORIGINAL URI KEYS!!! # THIS FUNCTION USES THE ORIGINAL URI KEYS!!!
def module_filterselection(keys,time=True,delimit=False): def module_filterselection(keys,time=True,delimit=False):
filterkeys, timekeys, delimitkeys, extrakeys = uri_to_internal(keys)
html = "" html = ""
if time: if time:
# all other keys that will not be changed by clicking another filter # all other keys that will not be changed by clicking another filter
keystr = "?" + compose_querystring(keys,exclude=["since","to","in"]) #keystr = "?" + compose_querystring(keys,exclude=["since","to","in"])
unchangedkeys = internal_to_uri({**filterkeys,**delimitkeys,**extrakeys})
# wonky selector for precise date range # wonky selector for precise date range
@ -471,84 +476,92 @@ def module_filterselection(keys,time=True,delimit=False):
# html += "</div>" # html += "</div>"
now = datetime.datetime.utcnow()
today = [now.year,now.month,now.day]
thismonth = today[:2]
thisyear = thismonth[:1]
html += "<div>" html += "<div>"
if keys.get("since") == "today" or keys.get("in") == "today": if timekeys.get("since") == today or timekeys.get("within") == today:
html += "<span class='stat_selector' style='opacity:0.5;'>Today</span>" html += "<span class='stat_selector' style='opacity:0.5;'>Today</span>"
else: else:
html += "<a href='" + keystr + "&since=today'><span class='stat_selector'>Today</span></a>" html += "<a href='?" + compose_querystring(unchangedkeys,{"since":"today"}) + "'><span class='stat_selector'>Today</span></a>"
html += " | " html += " | "
if keys.get("since") == "sunday": if keys.get("since") == "sunday":
html += "<span class='stat_selector' style='opacity:0.5;'>This Week</span>" html += "<span class='stat_selector' style='opacity:0.5;'>This Week</span>"
else: else:
html += "<a href='" + keystr + "&since=sunday'><span class='stat_selector'>This Week</span></a>" html += "<a href='?" + compose_querystring(unchangedkeys,{"since":"sunday"}) + "'><span class='stat_selector'>This Week</span></a>"
html += " | " html += " | "
if keys.get("since") == "month" or keys.get("in") == "month": if timekeys.get("since") == thismonth or timekeys.get("within") == thismonth:
html += "<span class='stat_selector' style='opacity:0.5;'>This Month</span>" html += "<span class='stat_selector' style='opacity:0.5;'>This Month</span>"
else: else:
html += "<a href='" + keystr + "&since=month'><span class='stat_selector'>This Month</span></a>" html += "<a href='?" + compose_querystring(unchangedkeys,{"since":"month"}) + "'><span class='stat_selector'>This Month</span></a>"
html += " | " html += " | "
if keys.get("since") == "year" or keys.get("in") == "year": if timekeys.get("since") == thisyear or timekeys.get("within") == thisyear:
html += "<span class='stat_selector' style='opacity:0.5;'>This Year</span>" html += "<span class='stat_selector' style='opacity:0.5;'>This Year</span>"
else: else:
html += "<a href='" + keystr + "&since=year'><span class='stat_selector'>This Year</span></a>" html += "<a href='?" + compose_querystring(unchangedkeys,{"since":"year"}) + "'><span class='stat_selector'>This Year</span></a>"
html += " | " html += " | "
if keys.get("since") is None and keys.get("in") is None: if timekeys.get("since") is None and timekeys.get("within") is None:
html += "<span class='stat_selector' style='opacity:0.5;'>All Time</span>" html += "<span class='stat_selector' style='opacity:0.5;'>All Time</span>"
else: else:
html += "<a href='" + keystr + "'><span class='stat_selector'>All Time</span></a>" html += "<a href='?" + compose_querystring(unchangedkeys) + "'><span class='stat_selector'>All Time</span></a>"
html += "</div>" html += "</div>"
if delimit: if delimit:
keystr = "?" + compose_querystring(keys,exclude=["step","stepn"]) #keystr = "?" + compose_querystring(keys,exclude=["step","stepn"])
unchangedkeys = internal_to_uri({**filterkeys,**timekeys,**extrakeys})
# only for this element (delimit selector consists of more than one)
unchangedkeys_sub = internal_to_uri({k:delimitkeys[k] for k in delimitkeys if k not in ["step","stepn"]})
html += "<div>" html += "<div>"
if keys.get("step") == "day": if delimitkeys.get("step") == "day" and delimitkeys.get("stepn") == 1:
html += "<span class='stat_selector' style='opacity:0.5;'>Daily</span>" html += "<span class='stat_selector' style='opacity:0.5;'>Daily</span>"
else: else:
html += "<a href='" + keystr + "&step=day'><span class='stat_selector'>Daily</span></a>" html += "<a href='?" + compose_querystring(unchangedkeys,unchangedkeys_sub,{"step":"day"}) + "'><span class='stat_selector'>Daily</span></a>"
html += " | " html += " | "
if keys.get("step") == "month" or keys.get("step") is None: if (delimitkeys.get("step") == "month" or delimitkeys.get("step") is None) and delimitkeys.get("stepn") == 1:
html += "<span class='stat_selector' style='opacity:0.5;'>Monthly</span>" html += "<span class='stat_selector' style='opacity:0.5;'>Monthly</span>"
else: else:
html += "<a href='" + keystr + "&step=month'><span class='stat_selector'>Monthly</span></a>" html += "<a href='?" + compose_querystring(unchangedkeys,unchangedkeys_sub,{"step":"month"}) + "'><span class='stat_selector'>Monthly</span></a>"
html += " | " html += " | "
if keys.get("step") == "year": if delimitkeys.get("step") == "year" and delimitkeys.get("stepn") == 1:
html += "<span class='stat_selector' style='opacity:0.5;'>Yearly</span>" html += "<span class='stat_selector' style='opacity:0.5;'>Yearly</span>"
else: else:
html += "<a href='" + keystr + "&step=year'><span class='stat_selector'>Yearly</span></a>" html += "<a href='?" + compose_querystring(unchangedkeys,unchangedkeys_sub,{"step":"year"}) + "'><span class='stat_selector'>Yearly</span></a>"
html += "</div>" html += "</div>"
keystr = "?" + compose_querystring(keys,exclude=["trail"]) unchangedkeys_sub = internal_to_uri({k:delimitkeys[k] for k in delimitkeys if k != "trail"})
html += "<div>" html += "<div>"
if keys.get("trail") == "1" or keys.get("trail") is None: if delimitkeys.get("trail") == 1 or delimitkeys.get("trail") is None:
html += "<span class='stat_selector' style='opacity:0.5;'>Standard</span>" html += "<span class='stat_selector' style='opacity:0.5;'>Standard</span>"
else: else:
html += "<a href='" + keystr + "'><span class='stat_selector'>Standard</span></a>" html += "<a href='?" + compose_querystring(unchangedkeys,unchangedkeys_sub,{"trail":"1"}) + "'><span class='stat_selector'>Standard</span></a>"
html += " | " html += " | "
if keys.get("trail") == "2": if delimitkeys.get("trail") == 2:
html += "<span class='stat_selector' style='opacity:0.5;'>Trailing</span>" html += "<span class='stat_selector' style='opacity:0.5;'>Trailing</span>"
else: else:
html += "<a href='" + keystr + "&trail=2'><span class='stat_selector'>Trailing</span></a>" html += "<a href='?" + compose_querystring(unchangedkeys,unchangedkeys_sub,{"trail":"2"}) + "'><span class='stat_selector'>Trailing</span></a>"
html += " | " html += " | "
if keys.get("trail") == "3": if delimitkeys.get("trail") == 3:
html += "<span class='stat_selector' style='opacity:0.5;'>Long Trailing</span>" html += "<span class='stat_selector' style='opacity:0.5;'>Long Trailing</span>"
else: else:
html += "<a href='" + keystr + "&trail=3'><span class='stat_selector'>Long Trailing</span></a>" html += "<a href='?" + compose_querystring(unchangedkeys,unchangedkeys_sub,{"trail":"3"}) + "'><span class='stat_selector'>Long Trailing</span></a>"
html += "</div>" html += "</div>"

View File

@ -1,5 +1,5 @@
# NAME: K-Pop Girl Groups # NAME: K-Pop Girl Groups
# DESC: Fixes various different spellings and romanizes artist names and track titles for some K-Pop Girl Groups # DESC: Fixes various different spellings, romanizes artist names and track titles and includes subgroups for some K-Pop Girl Groups
# HyunA # HyunA
replaceartist Kim Hyun-a HyunA replaceartist Kim Hyun-a HyunA
@ -14,6 +14,7 @@ replaceartist HyunA(현아) HyunA
replacetitle Cause I'm God Girl Roll Deep replacetitle Cause I'm God Girl Roll Deep
# 4Minute # 4Minute
countas 2Yoon 4Minute
replaceartist 4minute 4Minute replaceartist 4minute 4Minute
replacetitle 미쳐 Crazy replacetitle 미쳐 Crazy
@ -60,6 +61,7 @@ replacetitle 봐 Look Look
replacetitle RBB (Really Bad Boy) Really Bad Boy replacetitle RBB (Really Bad Boy) Really Bad Boy
# EXID # EXID
countas Dasoni EXID
replacetitle HOT PINK Hot Pink replacetitle HOT PINK Hot Pink
replacetitle AH YEAH Ah Yeah replacetitle AH YEAH Ah Yeah
replacetitle WHOZ THAT GIRL Whoz that girl replacetitle WHOZ THAT GIRL Whoz that girl
@ -71,12 +73,14 @@ replacetitle OOH-AHH Like Ooh-Ahh
replacetitle LIKEY Likey replacetitle LIKEY Likey
# AOA # AOA
countas AOA Black AOA
countas AOA White AOA
countas AOA Cream AOA
replaceartist Ace of Angels AOA replaceartist Ace of Angels AOA
replacetitle 사뿐사뿐 (Like a Cat) Like a Cat replacetitle 사뿐사뿐 (Like a Cat) Like a Cat
replacetitle Like A Cat (Japanese Version) Like a Cat (Japanese Version) replacetitle Like A Cat (Japanese Version) Like a Cat (Japanese Version)
replacetitle MOYA (inst) Moya replacetitle MOYA (inst) Moya
replacetitle MOYA (instrumental) Moya (instrumental) replacetitle MOYA (instrumental) Moya (instrumental)
countas AOA Black AOA
# Girl's Day # Girl's Day
replaceartist Girl's Day(걸스데이) Girl's Day replaceartist Girl's Day(걸스데이) Girl's Day

Can't render this file because it has a wrong number of fields in line 5.