diff --git a/htmlmodules.py b/htmlmodules.py index a7e63e1..a611354 100644 --- a/htmlmodules.py +++ b/htmlmodules.py @@ -579,7 +579,6 @@ def module_filterselection(keys,time=True,delimit=False): if time: # all other keys that will not be changed by clicking another filter - #keystr = "?" + compose_querystring(keys,exclude=["since","to","in"]) unchangedkeys = internal_to_uri({**filterkeys,**delimitkeys,**extrakeys}) @@ -601,28 +600,10 @@ def module_filterselection(keys,time=True,delimit=False): # html += "to <input id='dateselect_to' onchange='datechange()' type='date' value='" + "-".join(todate) + "'/>" # html += "</div>" - from malojatime import today, thisweek, thismonth, thisyear - - ### temp!!! this will not allow weekly rank changes - # weekday = ((now.isoweekday()) % 7) - # weekbegin = now - datetime.timedelta(days=weekday) - # weekend = weekbegin + datetime.timedelta(days=6) - # weekbegin = [weekbegin.year,weekbegin.month,weekbegin.day] - # weekend = [weekend.year,weekend.month,weekend.day] - # weekbeginstr = "/".join((str(num) for num in weekbegin)) - # weekendstr = "/".join((str(num) for num in weekend)) - - + from malojatime import today, thisweek, thismonth, thisyear, alltime # relative to current range - html += "<div>" - # if timekeys.get("timerange").next(-1) is not None: - # html += "<a href='?" + compose_querystring(unchangedkeys,internal_to_uri({"timerange":timekeys.get("timerange").next(-1)})) + "'><span class='stat_selector'>«</span></a>" - # if timekeys.get("timerange").next(-1) is not None or timekeys.get("timerange").next(1) is not None: - # html += " " + timekeys.get("timerange").desc() + " " - # if timekeys.get("timerange").next(1) is not None: - # html += "<a href='?" + compose_querystring(unchangedkeys,internal_to_uri({"timerange":timekeys.get("timerange").next(1)})) + "'><span class='stat_selector'>»</span></a>" if timekeys.get("timerange").next(-1) is not None: prevrange = timekeys.get("timerange").next(-1) @@ -639,101 +620,78 @@ def module_filterselection(keys,time=True,delimit=False): # predefined ranges + delimit_ranges = { + "Today":today(), + "This Week":thisweek(), + "This Month":thismonth(), + "This Year":thisyear(), + "All Time":alltime() + } - html += "<div>" - if timekeys.get("timerange") == today(): - html += "<span class='stat_selector' style='opacity:0.5;'>Today</span>" - else: - html += "<a href='?" + compose_querystring(unchangedkeys,{"in":"today"}) + "'><span class='stat_selector'>Today</span></a>" - html += " | " + optionlist = [] + for option in delimit_ranges: + value = delimit_ranges[option] + link = "?" + compose_querystring(unchangedkeys,internal_to_uri({"timerange":value})) - if timekeys.get("timerange") == thisweek(): - html += "<span class='stat_selector' style='opacity:0.5;'>This Week</span>" - else: - html += "<a href='?" + compose_querystring(unchangedkeys,{"in":"week"}) + "'><span class='stat_selector'>This Week</span></a>" - html += " | " + if timekeys.get("timerange") == value: + optionlist.append("<span class='stat_selector' style='opacity:0.5;'>" + option + "</span>") + else: + optionlist.append("<a href='" + link + "'><span class='stat_selector'>" + option + "</span></a>") - if timekeys.get("timerange") == thismonth(): - html += "<span class='stat_selector' style='opacity:0.5;'>This Month</span>" - else: - html += "<a href='?" + compose_querystring(unchangedkeys,{"in":"month"}) + "'><span class='stat_selector'>This Month</span></a>" - html += " | " + html += "<div>" + " | ".join(optionlist) + "</div>" - if timekeys.get("timerange") == thisyear(): - html += "<span class='stat_selector' style='opacity:0.5;'>This Year</span>" - else: - html += "<a href='?" + compose_querystring(unchangedkeys,{"in":"year"}) + "'><span class='stat_selector'>This Year</span></a>" - html += " | " - - if timekeys.get("timerange") is None or timekeys.get("timerange").unlimited(): - html += "<span class='stat_selector' style='opacity:0.5;'>All Time</span>" - else: - html += "<a href='?" + compose_querystring(unchangedkeys) + "'><span class='stat_selector'>All Time</span></a>" - - html += "</div>" if delimit: - #keystr = "?" + compose_querystring(keys,exclude=["step","stepn"]) unchangedkeys = internal_to_uri({**filterkeys,**timekeys,**extrakeys}) + # STEP # 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>" - if delimitkeys.get("step") == "day" and delimitkeys.get("stepn") == 1: - html += "<span class='stat_selector' style='opacity:0.5;'>Daily</span>" - else: - html += "<a href='?" + compose_querystring(unchangedkeys,unchangedkeys_sub,{"step":"day"}) + "'><span class='stat_selector'>Daily</span></a>" - html += " | " + delimit_steps = { + "Daily":{"step":"day","stepn":1}, + "Weekly":{"step":"week","stepn":1}, + "Fortnightly":{"step":"week","stepn":2}, + "Monthly":{"step":"month","stepn":1}, + "Quarterly":{"step":"month","stepn":3}, + "Yearly":{"step":"year","stepn":1} + } - if delimitkeys.get("step") == "week" and delimitkeys.get("stepn") == 1: - html += "<span class='stat_selector' style='opacity:0.5;'>Weekly</span>" - else: - html += "<a href='?" + compose_querystring(unchangedkeys,unchangedkeys_sub,{"step":"week"}) + "'><span class='stat_selector'>Weekly</span></a>" - html += " | " + optionlist = [] + for option in delimit_steps: + values = delimit_steps[option] + link = "?" + compose_querystring(unchangedkeys,unchangedkeys_sub,internal_to_uri(values)) - if delimitkeys.get("step") == "month" and delimitkeys.get("stepn") == 1: - html += "<span class='stat_selector' style='opacity:0.5;'>Monthly</span>" - else: - html += "<a href='?" + compose_querystring(unchangedkeys,unchangedkeys_sub,{"step":"month"}) + "'><span class='stat_selector'>Monthly</span></a>" - html += " | " - - if delimitkeys.get("step") == "year" and delimitkeys.get("stepn") == 1: - html += "<span class='stat_selector' style='opacity:0.5;'>Yearly</span>" - else: - html += "<a href='?" + compose_querystring(unchangedkeys,unchangedkeys_sub,{"step":"year"}) + "'><span class='stat_selector'>Yearly</span></a>" - - html += "</div>" + if delimitkeys.get("step") == values["step"] and delimitkeys.get("stepn") == values["stepn"]: + optionlist.append("<span class='stat_selector' style='opacity:0.5;'>" + option + "</span>") + else: + optionlist.append("<a href='" + link + "'><span class='stat_selector'>" + option + "</span></a>") + html += "<div>" + " | ".join(optionlist) + "</div>" + # TRAIL unchangedkeys_sub = internal_to_uri({k:delimitkeys[k] for k in delimitkeys if k != "trail"}) - html += "<div>" - if delimitkeys.get("trail") == 1: - html += "<span class='stat_selector' style='opacity:0.5;'>Standard</span>" - else: - html += "<a href='?" + compose_querystring(unchangedkeys,unchangedkeys_sub,{"trail":"1"}) + "'><span class='stat_selector'>Standard</span></a>" - html += " | " + delimit_trails = { + "Standard":1, + "Trailing":2, + "Long Trailing":3, + "Inert":10, + "Cumulative":math.inf + } - if delimitkeys.get("trail") == 2: - html += "<span class='stat_selector' style='opacity:0.5;'>Trailing</span>" - else: - html += "<a href='?" + compose_querystring(unchangedkeys,unchangedkeys_sub,{"trail":"2"}) + "'><span class='stat_selector'>Trailing</span></a>" - html += " | " + optionlist = [] + for option in delimit_trails: + value = delimit_trails[option] + link = "?" + compose_querystring(unchangedkeys,unchangedkeys_sub,internal_to_uri({"trail":value})) - if delimitkeys.get("trail") == 3: - html += "<span class='stat_selector' style='opacity:0.5;'>Long Trailing</span>" - else: - html += "<a href='?" + compose_querystring(unchangedkeys,unchangedkeys_sub,{"trail":"3"}) + "'><span class='stat_selector'>Long Trailing</span></a>" - html += " | " + if delimitkeys.get("trail") == value: + optionlist.append("<span class='stat_selector' style='opacity:0.5;'>" + option + "</span>") + else: + optionlist.append("<a href='" + link + "'><span class='stat_selector'>" + option + "</span></a>") - if delimitkeys.get("trail") == math.inf: - html += "<span class='stat_selector' style='opacity:0.5;'>Cumulative</span>" - else: - html += "<a href='?" + compose_querystring(unchangedkeys,unchangedkeys_sub,{"cumulative":"yes"}) + "'><span class='stat_selector'>Cumulative</span></a>" - - html += "</div>" + html += "<div>" + " | ".join(optionlist) + "</div>" return html diff --git a/malojatime.py b/malojatime.py index 98c635f..a77fd4a 100644 --- a/malojatime.py +++ b/malojatime.py @@ -620,6 +620,8 @@ def thismonth(): def thisyear(): tod = datetime.datetime.utcnow() return MTime(tod.year) +def alltime(): + return MRange(None,None) #def _get_start_of(timestamp,unit): # date = datetime.datetime.utcfromtimestamp(timestamp) diff --git a/rules/predefined/krateng_artistsingroups.tsv b/rules/predefined/krateng_artistsingroups.tsv index 9079410..39204cc 100644 --- a/rules/predefined/krateng_artistsingroups.tsv +++ b/rules/predefined/krateng_artistsingroups.tsv @@ -10,4 +10,5 @@ countas S Club 7 Tina Barrett countas RenoakRhythm Approaching Nirvana countas Shirley Manson Garbage countas Lewis Brindley The Yogscast -countas Sips The Yogscast +countas Sips The Yogscast +countas Sjin The Yogscast diff --git a/scrobblers/chromium-generic/background.js b/scrobblers/chromium-generic/background.js index 417fd59..32d4571 100644 --- a/scrobblers/chromium-generic/background.js +++ b/scrobblers/chromium-generic/background.js @@ -178,8 +178,13 @@ class Controller { actuallyupdate() { this.messageID++; //console.log("Update! Our page is " + this.page + ", our tab id " + this.tabId) - chrome.tabs.executeScript(this.tabId,{"file":"sites/" + pages[this.page]["script"]}); - chrome.tabs.executeScript(this.tabId,{"file":"sitescript.js"}); + try { + chrome.tabs.executeScript(this.tabId,{"file":"sites/" + pages[this.page]["script"]}); + chrome.tabs.executeScript(this.tabId,{"file":"sitescript.js"}); + } + catch (e) { + console.log("Could not run site script. Tab probably closed or something idk.") + } this.alreadyQueued = false; }