mirror of
https://github.com/Xevion/v1.xevion.dev.git
synced 2025-12-06 09:16:54 -06:00
39 lines
1.2 KiB
Python
39 lines
1.2 KiB
Python
from app import app
|
|
from config import Config
|
|
from flask import send_from_directory, redirect, url_for, render_template, send_file
|
|
import json
|
|
import subprocess
|
|
import time
|
|
import os
|
|
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') |