From 75260fac0e30aa9d3dac14ad82da70c6472c94bc Mon Sep 17 00:00:00 2001 From: 0x01fe Date: Wed, 3 Apr 2024 16:32:27 -0500 Subject: [PATCH] started album squared thing --- app/app.py | 56 +++++++++++++++++- .../2029240f6d1128be89ddc32729463129 | Bin 0 -> 9 bytes .../aa43147407c8a8c678cd91f678f2a023 | Bin 0 -> 90 bytes app/data/comments.json | 8 +++ app/data/users.json | 5 ++ app/static/albumsquare.css | 31 ++++++++++ app/static/style.css | 38 ++++++++++++ app/templates/album_square.html | 20 +++++++ app/templates/music.html | 12 ++++ 9 files changed, 169 insertions(+), 1 deletion(-) create mode 100644 app/data/.flask_session/2029240f6d1128be89ddc32729463129 create mode 100644 app/data/.flask_session/aa43147407c8a8c678cd91f678f2a023 create mode 100644 app/data/comments.json create mode 100644 app/data/users.json create mode 100644 app/static/albumsquare.css create mode 100644 app/templates/album_square.html diff --git a/app/app.py b/app/app.py index 3492a78..d3f6ba5 100644 --- a/app/app.py +++ b/app/app.py @@ -2,6 +2,7 @@ import glob import configparser import random +import requests import flask import waitress import markdown @@ -19,6 +20,9 @@ STATUS_FILE = config['STATUS']['STATUS_FILE'] PORT = int(config['NETWORK']['PORT']) DEV = int(config['NETWORK']['DEV']) +MUSIC_API_TOKEN = config['AUTH']['MUSIC_API_TOKEN'] +MUSIC_API_URL = config['NETWORK']['MUSIC_API_URL'] + def get_posts(category_filter : str | None = None) -> list[Post]: post_files = glob.glob(f'{POSTS_FOLDER}/*') try: @@ -105,7 +109,25 @@ def music(): # Get status status = get_status() - return flask.render_template('music.html', posts=post_bodies, status=status) + # Get top albums + r = requests.get( + MUSIC_API_URL +'/top/albums', + headers={ + 'token' : MUSIC_API_TOKEN, + 'user' : '1', + 'limit' : '9' + }) + + top_albums = r.json()['top'] + for album_index in range(0, len(top_albums)): + album = top_albums[album_index] + + time = int(album['listen_time']) + hours = round(time/1000/60/60, 1) + + top_albums[album_index]['listen_time'] = hours + + return flask.render_template('music.html', posts=post_bodies, status=status, top_albums=top_albums) # Motion Pictures Page @app.route('/motion-pictures/') @@ -148,6 +170,38 @@ def about(): return flask.render_template('about.html', status=status) +# MISC + +@app.route('/albumsquare//') +def album_square(user_id, rows : int): + + limit = rows ** 2 + + res = 100/(rows+2) + + # Get top albums + r = requests.get( + MUSIC_API_URL +'/top/albums', + headers={ + 'token' : MUSIC_API_TOKEN, + 'user' : user_id, + 'limit' : str(limit) + }) + + top_albums = r.json()['top'] + for album_index in range(0, len(top_albums)): + album = top_albums[album_index] + + time = int(album['listen_time']) + hours = round(time/1000/60/60, 1) + + top_albums[album_index]['listen_time'] = hours + + + return flask.render_template('album_square.html', top_albums=top_albums, limit=rows, res=res) + + + if __name__ == "__main__": if DEV: app.run(port=PORT) diff --git a/app/data/.flask_session/2029240f6d1128be89ddc32729463129 b/app/data/.flask_session/2029240f6d1128be89ddc32729463129 new file mode 100644 index 0000000000000000000000000000000000000000..7f5741f13017ee705ea34021d222a06a6ee2a6c9 GIT binary patch literal 9 QcmZQzU|?uq^=8ro00XcA0RR91 literal 0 HcmV?d00001 diff --git a/app/data/.flask_session/aa43147407c8a8c678cd91f678f2a023 b/app/data/.flask_session/aa43147407c8a8c678cd91f678f2a023 new file mode 100644 index 0000000000000000000000000000000000000000..d818306312c02b6939f76f09975e7cd3b355c42e GIT binary patch literal 90 zcmeB))lF+)o$Ad10ku;!dbr{XQj2mE^HTFlrgZdhB^MW^#h2t~r{+!R(J-_yH#Sa5 oH8xK%HZ!wKO-(j2Ha1VQ1o9116D`cmEmPBs%u|z-r +
+ + + Album Square +
+ +
+ {% for album in top_albums %} + + + + {% if loop.index % limit == 0 %} +
+ {% endif %} + {% endfor %} +
+ + diff --git a/app/templates/music.html b/app/templates/music.html index 9a00a11..5e35363 100644 --- a/app/templates/music.html +++ b/app/templates/music.html @@ -28,6 +28,18 @@
{{ post|safe }}
{% endfor %} + +
+

Top Albums

+ {% for album in top_albums %} + + + + {% if loop.index % 3 == 0 %} +
+ {% endif %} + {% endfor %} +