mirror of
https://github.com/Xevion/v1.xevion.dev.git
synced 2025-12-06 09:16:54 -06:00
42 lines
1.1 KiB
Python
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")
|