bcns-gameDistributionSystem/api/modules/gamelist.py
odecif 909e01c373 Gamelist in memory
Instead of always scanning the game folder for nfo's when presenting the
gamelist it is now loaded once into memory and then accessed from there.
2022-10-28 11:04:27 +02:00

37 lines
991 B
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
import glob
contentpath = modules.db_connect.contentpath()
# 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)+'/**/**/*_index.nfo', recursive=True)))
glist = []
for nfo in nfolist:
try:
game = modules.game.game(nfo, True, True)
glist.append(game)
except Exception as e:
print(e)
set_gamelist(glist)
return make_response("<h1>Success</h1>", 200)