Focus on remving deprecated flas.JSONEncoder and replacing it with json.JSONEncoder. * Exception handling when API is not accessible [fix #25] * flask.JSONEncoder deprecated [fix #24] * Show manual (if present) [fix #23] * Small touch-ups
38 lines
1.0 KiB
Python
38 lines
1.0 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
|
|
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)
|
|
glist.append(game)
|
|
except Exception as e:
|
|
print(nfo, e)
|
|
|
|
set_gamelist(glist)
|
|
return make_response("<h1>Success</h1>", 200)
|