1
0
mirror of https://github.com/krateng/maloja.git synced 2023-08-10 21:12:55 +03:00
maloja/website/start.py

85 lines
3.5 KiB
Python
Raw Normal View History

2019-02-02 18:54:01 +03:00
import urllib
2019-03-03 15:38:53 +03:00
from datetime import datetime, timedelta
2019-02-21 02:13:18 +03:00
import database
2019-02-02 18:54:01 +03:00
from htmlmodules import module_scrobblelist, module_pulse
2019-02-02 18:54:01 +03:00
def instructions(keys):
from utilities import getArtistsInfo, getTracksInfo
2019-03-03 00:55:22 +03:00
from htmlgenerators import artistLink, trackLink
2019-02-02 18:54:01 +03:00
2019-02-21 02:13:18 +03:00
max_show = 14
posrange = ["#" + str(i) for i in range(1,max_show+1)]
2019-02-02 18:54:01 +03:00
# get chart data
2019-02-02 20:08:30 +03:00
# artists
2019-02-21 02:13:18 +03:00
charts = database.get_charts_artists()[:max_show]
2019-02-02 20:08:30 +03:00
artisttitles = [c["artist"] for c in charts]
artistimages = ["/image?artist=" + urllib.parse.quote(a) for a in artisttitles]
2019-02-02 20:08:30 +03:00
artistlinks = [artistLink(a) for a in artisttitles]
2019-02-02 18:54:01 +03:00
2019-02-02 20:08:30 +03:00
# tracks
2019-02-21 02:13:18 +03:00
charts = database.get_charts_tracks()[:max_show]
2019-02-02 20:08:30 +03:00
trackobjects = [t["track"] for t in charts]
tracktitles = [t["title"] for t in trackobjects]
trackimages = ["/image?title=" + urllib.parse.quote(t["title"]) + "&" + "&".join(["artist=" + urllib.parse.quote(a) for a in t["artists"]]) for t in trackobjects]
2019-02-02 20:08:30 +03:00
tracklinks = [trackLink(t) for t in trackobjects]
# get scrobbles
html_scrobbles, _, _ = module_scrobblelist(max_=15,shortTimeDesc=True,pictures=True)
2019-02-03 18:52:37 +03:00
2019-02-02 20:08:30 +03:00
# get stats
2019-02-21 02:13:18 +03:00
amount = database.get_scrobbles_num(since="today")
scrobbles_today = "<a href='/scrobbles?since=today'>" + str(amount) + "</a>"
2019-02-02 20:08:30 +03:00
2019-02-21 02:13:18 +03:00
amount = database.get_scrobbles_num(since="month")
scrobbles_month = "<a href='/scrobbles?since=month'>" + str(amount) + "</a>"
amount = database.get_scrobbles_num(since="year")
scrobbles_year = "<a href='/scrobbles?since=year'>" + str(amount) + "</a>"
amount = database.get_scrobbles_num()
scrobbles_total = "<a href='/scrobbles'>" + str(amount) + "</a>"
2019-02-02 18:54:01 +03:00
2019-02-18 19:22:44 +03:00
# get pulse
dt = datetime.utcnow()
2019-03-03 15:38:53 +03:00
first_month = [dt.year-1,dt.month+1]
dt_firstweek = dt - timedelta(11*7) - timedelta((6-dt.weekday()))
first_week = [dt_firstweek.year,dt_firstweek.month,dt_firstweek.day]
dt_firstday = dt - timedelta(6)
first_day = [dt_firstday.year,dt_firstday.month,dt_firstday.day]
first_year = [dt.year - 9]
if first_month[1] > 12: first_month = [first_month[0]+1,first_month[1]-12]
#while first_week[2]
#first_month = "/".join([str(e) for e in first_month])
2019-02-18 19:22:44 +03:00
# this is literally the ugliest piece of code i have written in my entire feckin life
# good lord
2019-03-03 15:38:53 +03:00
html_pulse_days = module_pulse(max_=7,since=first_day,step="day",trail=1)
html_pulse_weeks = module_pulse(max_=12,since=first_week,step="week",trail=1)
html_pulse_months = module_pulse(max_=12,since=first_month,step="month",trail=1)
html_pulse_years = module_pulse(max_=10,since=first_year,step="year",trail=1)
2019-02-21 02:13:18 +03:00
pushresources = [{"file":img,"type":"image"} for img in artistimages + trackimages] #can't push scrobble images as we don't get them from the module function, need to think about that
replace = {"KEY_ARTISTIMAGE":artistimages,"KEY_ARTISTNAME":artisttitles,"KEY_ARTISTLINK":artistlinks,"KEY_POSITION_ARTIST":posrange,
2019-02-02 20:08:30 +03:00
"KEY_TRACKIMAGE":trackimages,"KEY_TRACKNAME":tracktitles,"KEY_TRACKLINK":tracklinks,"KEY_POSITION_TRACK":posrange,
2019-02-03 18:52:37 +03:00
"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_SCROBBLES":html_scrobbles,
#"KEY_PULSE_TERM":pulse_rangedescs,"KEY_PULSE_AMOUNT":pulse_amounts,"KEY_PULSE_BAR":pulse_bars
2019-03-03 15:38:53 +03:00
"KEY_PULSE_MONTHS":html_pulse_months,"KEY_PULSE_YEARS":html_pulse_years,"KEY_PULSE_DAYS":html_pulse_days,"KEY_PULSE_WEEKS":html_pulse_weeks
}
return (replace,pushresources)
2019-02-02 18:54:01 +03:00