mirror of
https://github.com/krateng/maloja.git
synced 2025-07-09 03:04:07 -04:00
Various fixes
This commit is contained in:
parent
6de866670e
commit
f7c4b260b0
@ -727,7 +727,7 @@ def track_info(dbconn=None,**keys):
|
|||||||
|
|
||||||
|
|
||||||
@waitfordb
|
@waitfordb
|
||||||
def album_info(dbconn=None,**keys):
|
def album_info(dbconn=None,reduced=False,**keys):
|
||||||
|
|
||||||
album = keys.get('album')
|
album = keys.get('album')
|
||||||
if album is None: raise exceptions.MissingEntityParameter()
|
if album is None: raise exceptions.MissingEntityParameter()
|
||||||
@ -751,35 +751,41 @@ def album_info(dbconn=None,**keys):
|
|||||||
elif scrobbles >= threshold_platinum: cert = "platinum"
|
elif scrobbles >= threshold_platinum: cert = "platinum"
|
||||||
elif scrobbles >= threshold_gold: cert = "gold"
|
elif scrobbles >= threshold_gold: cert = "gold"
|
||||||
|
|
||||||
twk = thisweek()
|
if reduced:
|
||||||
tyr = thisyear()
|
extrainfo = {}
|
||||||
|
else:
|
||||||
|
twk = thisweek()
|
||||||
|
tyr = thisyear()
|
||||||
|
extrainfo = {
|
||||||
|
"medals":{
|
||||||
|
"gold": [year.desc() for year in ranges(step='year') if (year != tyr) and any(
|
||||||
|
(e.get('album_id') == album_id) and (e.get('rank') == 1) for e in
|
||||||
|
sqldb.count_scrobbles_by_album(since=year.first_stamp(),to=year.last_stamp(),resolve_ids=False,dbconn=dbconn)
|
||||||
|
)],
|
||||||
|
"silver": [year.desc() for year in ranges(step='year') if (year != tyr) and any(
|
||||||
|
(e.get('album_id') == album_id) and (e.get('rank') == 2) for e in
|
||||||
|
sqldb.count_scrobbles_by_album(since=year.first_stamp(),to=year.last_stamp(),resolve_ids=False,dbconn=dbconn)
|
||||||
|
)],
|
||||||
|
"bronze": [year.desc() for year in ranges(step='year') if (year != tyr) and any(
|
||||||
|
(e.get('album_id') == album_id) and (e.get('rank') == 3) for e in
|
||||||
|
sqldb.count_scrobbles_by_album(since=year.first_stamp(),to=year.last_stamp(),resolve_ids=False,dbconn=dbconn)
|
||||||
|
)]
|
||||||
|
},
|
||||||
|
"topweeks":len([
|
||||||
|
week for week in ranges(step="week") if (week != twk) and any(
|
||||||
|
(e.get('album_id') == album_id) and (e.get('rank') == 1) for e in
|
||||||
|
sqldb.count_scrobbles_by_album(since=week.first_stamp(),to=week.last_stamp(),resolve_ids=False,dbconn=dbconn)
|
||||||
|
)
|
||||||
|
])
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
"album":album,
|
"album":album,
|
||||||
"scrobbles":scrobbles,
|
"scrobbles":scrobbles,
|
||||||
"position":position,
|
"position":position,
|
||||||
"medals":{
|
|
||||||
"gold": [year.desc() for year in ranges(step='year') if (year != tyr) and any(
|
|
||||||
(e.get('album_id') == album_id) and (e.get('rank') == 1) for e in
|
|
||||||
sqldb.count_scrobbles_by_album(since=year.first_stamp(),to=year.last_stamp(),resolve_ids=False,dbconn=dbconn)
|
|
||||||
)],
|
|
||||||
"silver": [year.desc() for year in ranges(step='year') if (year != tyr) and any(
|
|
||||||
(e.get('album_id') == album_id) and (e.get('rank') == 2) for e in
|
|
||||||
sqldb.count_scrobbles_by_album(since=year.first_stamp(),to=year.last_stamp(),resolve_ids=False,dbconn=dbconn)
|
|
||||||
)],
|
|
||||||
"bronze": [year.desc() for year in ranges(step='year') if (year != tyr) and any(
|
|
||||||
(e.get('album_id') == album_id) and (e.get('rank') == 3) for e in
|
|
||||||
sqldb.count_scrobbles_by_album(since=year.first_stamp(),to=year.last_stamp(),resolve_ids=False,dbconn=dbconn)
|
|
||||||
)]
|
|
||||||
},
|
|
||||||
"certification":cert,
|
"certification":cert,
|
||||||
"topweeks":len([
|
"id":album_id,
|
||||||
week for week in ranges(step="week") if (week != twk) and any(
|
**extrainfo
|
||||||
(e.get('album_id') == album_id) and (e.get('rank') == 1) for e in
|
|
||||||
sqldb.count_scrobbles_by_album(since=week.first_stamp(),to=week.last_stamp(),resolve_ids=False,dbconn=dbconn)
|
|
||||||
)
|
|
||||||
]),
|
|
||||||
"id":album_id
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ def import_scrobbles(inputf):
|
|||||||
typeid,typedesc = "spotify","Spotify"
|
typeid,typedesc = "spotify","Spotify"
|
||||||
importfunc = parse_spotify_lite_legacy
|
importfunc = parse_spotify_lite_legacy
|
||||||
|
|
||||||
elif re.match(r"maloja_export_[0-9]+\.json",filename):
|
elif re.match(r"maloja_export_?[0-9]*\.json",filename):
|
||||||
typeid,typedesc = "maloja","Maloja"
|
typeid,typedesc = "maloja","Maloja"
|
||||||
importfunc = parse_maloja
|
importfunc = parse_maloja
|
||||||
|
|
||||||
@ -99,7 +99,7 @@ def import_scrobbles(inputf):
|
|||||||
"albumtitle":scrobble.get('album_name') or None,
|
"albumtitle":scrobble.get('album_name') or None,
|
||||||
"artists":scrobble.get('album_artists') or scrobble['track_artists'] or None
|
"artists":scrobble.get('album_artists') or scrobble['track_artists'] or None
|
||||||
# TODO: use same heuristics as with parsing to determine album?
|
# TODO: use same heuristics as with parsing to determine album?
|
||||||
}
|
} if scrobble.get('album_name') else None
|
||||||
},
|
},
|
||||||
"duration":scrobble['scrobble_duration'],
|
"duration":scrobble['scrobble_duration'],
|
||||||
"origin":"import:" + typeid,
|
"origin":"import:" + typeid,
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
<div id="showcase_container">
|
<div id="showcase_container">
|
||||||
|
|
||||||
{% for album in ownalbums %}
|
{% for album in ownalbums %}
|
||||||
{% set info = dbc.album_info({'album':album}) %}
|
{% set info = dbc.album_info({'album':album,'reduced':True}) %}
|
||||||
<table class="album">
|
<table class="album">
|
||||||
<tr><td> </td></tr>
|
<tr><td> </td></tr>
|
||||||
<tr><td>
|
<tr><td>
|
||||||
@ -24,7 +24,7 @@
|
|||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
{% for album in otheralbums %}
|
{% for album in otheralbums %}
|
||||||
{% set info = dbc.album_info({'album':album}) %}
|
{% set info = dbc.album_info({'album':album,'reduced':True}) %}
|
||||||
<table class="album">
|
<table class="album">
|
||||||
<tr><td>Appears on</td></tr>
|
<tr><td>Appears on</td></tr>
|
||||||
<tr><td>
|
<tr><td>
|
||||||
|
@ -42,6 +42,10 @@ body.certified {
|
|||||||
.certified_gold {
|
.certified_gold {
|
||||||
--certification-color: var(--color-certified-gold);
|
--certification-color: var(--color-certified-gold);
|
||||||
}
|
}
|
||||||
|
.certified_None {
|
||||||
|
--certification-color: none;
|
||||||
|
/* overwrite this for non-certified elements on certified pages (albums of artist) */
|
||||||
|
}
|
||||||
|
|
||||||
.certified.smallcerticon svg {
|
.certified.smallcerticon svg {
|
||||||
fill: rgba(var(--certification-color),1);
|
fill: rgba(var(--certification-color),1);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user