57 lines
1.6 KiB
Python
57 lines
1.6 KiB
Python
from __main__ import app
|
|
from flask import jsonify, make_response
|
|
import modules.db_connect
|
|
from modules.functions import get_gamelist, set_gamelist
|
|
import modules.game
|
|
from modules.gamelist_functions import (
|
|
get_threaded_thumbnails,
|
|
update_threaded_thumbnails)
|
|
import glob
|
|
|
|
contentpath = modules.db_connect.contentpath()
|
|
nfosuffix = modules.db_connect.nfosuffix()
|
|
|
|
|
|
# Collects all _index.nfo-files present and crunches them into a list of
|
|
# games.
|
|
@app.route('/gamelist', methods=['GET'])
|
|
def show_gamelist():
|
|
if get_gamelist():
|
|
return jsonify(get_gamelist())
|
|
update_gamelist()
|
|
return jsonify(get_gamelist())
|
|
|
|
|
|
# Updates the gamelist by searching for new nfo's
|
|
@app.route('/gamelist/update', methods=['GET'])
|
|
def update_gamelist():
|
|
nfolist = list(dict.fromkeys(glob.glob(
|
|
str(contentpath)+'/**/**/*'+nfosuffix, recursive=True)))
|
|
|
|
glist = []
|
|
for nfo in nfolist:
|
|
try:
|
|
game = modules.game.game(nfo, True, True, True)
|
|
glist.append(game)
|
|
except Exception as e:
|
|
print(nfo, e)
|
|
|
|
set_gamelist(glist)
|
|
return make_response("<h1>Success</h1>", 200)
|
|
|
|
|
|
# Fetch displayimage for all nfo-files
|
|
@app.route('/gamelist/displayimage')
|
|
def get_displayimages(update=False):
|
|
thumbnails = get_threaded_thumbnails()
|
|
if (len(thumbnails) == 0) or update:
|
|
thumbnails = update_threaded_thumbnails(True)
|
|
return jsonify(thumbnails)
|
|
|
|
|
|
# Update displayimages
|
|
@app.route('/gamelist/displayimage/update')
|
|
def update_displayimages():
|
|
update_threaded_thumbnails()
|
|
return make_response("<h1>Success</h1>", 200)
|