nyxsite/site/app.py
2025-02-24 00:02:33 -06:00

44 lines
1.3 KiB
Python

#!/usr/bin/env python
from flask import Flask, render_template, make_response
import requests
apiRoot = "https://api.listenbrainz.org"
user = "everypizza"
app = Flask(__name__)
countFile = "visitorCount.txt"
def get_visitor_count():
try:
with open(countFile, "r") as f:
return int(f.read())
except FileNotFoundError:
return 0
def increment_visitor_count():
count = get_visitor_count()
count += 1
with open(countFile, "w") as f:
f.write(str(count))
return count
@app.route('/')
def index():
increment_visitor_count()
data = requests.get(apiRoot + "/1/user/" + user + "/playing-now")
track = data.json()['payload']['listens'][0]['track_metadata']['track_name']
artist = data.json()['payload']['listens'][0]['track_metadata']['artist_name']
album = data.json()['payload']['listens'][0]['track_metadata']['release_name']
return render_template('index.j2', visitor=get_visitor_count(), user=user, title=track, artist=artist, album=album)
@app.route('/assets/index.css')
def indexStyle():
css = render_template('assets/index.css')
response = make_response(css)
response.mimetype = "text/css"
return response
if __name__ == '__main__':
app.run(host="0.0.0.0", port=8080)