Revert "Recently playing mod"

This commit is contained in:
novatorem
2020-08-23 11:18:07 -04:00
parent 91e430cc6a
commit d1391cf38b
4 changed files with 47 additions and 41 deletions

View File

@@ -1,30 +1,31 @@
import os
import json
import random
import requests
from base64 import b64encode
from dotenv import load_dotenv, find_dotenv
from flask import Flask, Response, jsonify, render_template
from base64 import b64encode
from dotenv import load_dotenv, find_dotenv
load_dotenv(find_dotenv())
import requests
import json
import os
import random
SPOTIFY_CLIENT_ID = os.getenv("SPOTIFY_CLIENT_ID")
SPOTIFY_SECRET_ID = os.getenv("SPOTIFY_SECRET_ID")
SPOTIFY_REFRESH_TOKEN = os.getenv("SPOTIFY_REFRESH_TOKEN")
# Scopes:
# user-read-currently-playing
# user-read-recently-played
# scope user-read-currently-playing/user-read-recently-played
SPOTIFY_URL_REFRESH_TOKEN = "https://accounts.spotify.com/api/token"
SPOTIFY_URL_NOW_PLAYING = "https://api.spotify.com/v1/me/player/currently-playing"
SPOTIFY_URL_RECENTLY_PLAY = "https://api.spotify.com/v1/me/player/recently-played?limit=10"
app = Flask(__name__)
def getAuth():
return b64encode(f"{SPOTIFY_CLIENT_ID}:{SPOTIFY_SECRET_ID}".encode()).decode("ascii")
def refreshToken():
data = {
"grant_type": "refresh_token",
@@ -47,8 +48,11 @@ def recentlyPlayed():
return response.json()
def nowPlaying():
token = refreshToken()
headers = {"Authorization": f"Bearer {token}"}
response = requests.get(SPOTIFY_URL_NOW_PLAYING, headers=headers)
if response.status_code == 204:
@@ -78,24 +82,24 @@ def makeSVG(data):
barCSS = barGen(barCount)
if data == {}:
#contentBar = ""
recentlyPlays = recentlyPlayed()
recentLength = len(recentlyPlays["items"])
itemIndex = random.randint(0, recentLength - 1)
item = recentlyPlays["items"][itemIndex]["track"]
content_bar = ""
recent_plays = recentlyPlayed()
size_recent_play = len(recent_plays["items"])
idx = random.randint(0, size_recent_play - 1)
item = recent_plays["items"][idx]["track"]
else:
item = data["item"]
image = loadImageB64(item["album"]["images"][1]["url"])
img = loadImageB64(item["album"]["images"][1]["url"])
artistName = item["artists"][0]["name"].replace("&", "&")
songName = item["name"].replace("&", "&")
dataDict = {
"contentBar": contentBar,
"barCSS": barCSS,
"artistName": artistName,
"songName": songName,
"image": image
"content_bar": contentBar,
"css_bar": barCSS,
"artist_name": artistName,
"song_name": songName,
"img": img,
}
return render_template("spotify.html.j2", **dataDict)
@@ -103,6 +107,7 @@ def makeSVG(data):
@app.route("/", defaults={"path": ""})
@app.route("/<path:path>")
def catch_all(path):
data = nowPlaying()
svg = makeSVG(data)