mirror of
https://github.com/Xevion/v1.xevion.dev.git
synced 2025-12-07 07:16:53 -06:00
38 lines
1.1 KiB
Python
38 lines
1.1 KiB
Python
from app import app
|
|
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():
|
|
with open(path) as file:
|
|
try:
|
|
file = json.load(file)
|
|
except 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 >= 3600:
|
|
return True
|
|
else:
|
|
ideal = file['last_generated'] + 3600
|
|
# 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') |