Files
v1.xevion.dev/app/spotify.py

42 lines
1.1 KiB
Python

import json
import os
import time
from flask import send_file
from app import app
from config import Config
from .spotify_explicit import main
path = os.path.join("app/spotify_explicit/recent.json")
def check_and_update():
try:
with open(path) as file:
file = json.load(file)
except (FileNotFoundError, json.JSONDecodeError):
file = {"last_generated": -1}
if file["last_generated"] == -1:
return True
else:
dif = time.time() - file["last_generated"]
# print('dif', dif)
if dif >= Config.SPOTIFY_CACHE_TIME:
return True
else:
ideal = file["last_generated"] + Config.SPOTIFY_CACHE_TIME
# print(f'Waiting another {int(ideal - time.time())} seconds')
return False
@app.route("/spotify/")
def spotify():
if check_and_update():
print("Graph out of date - running update command")
with open(path, "w+") as file:
file = json.dump({"last_generated": int(time.time())}, file)
main.main()
return send_file("spotify_explicit/export/export.png")