from flask import jsonify, make_response, Blueprint import bcnsGDSAPI.modules.db_connect from bcnsGDSAPI.modules.functions import get_gamelist, set_gamelist import bcnsGDSAPI.modules.game from bcnsGDSAPI.modules.gamelist_functions import ( get_threaded_thumbnails, update_threaded_thumbnails) import glob contentpath = bcnsGDSAPI.modules.db_connect.contentpath() nfosuffix = bcnsGDSAPI.modules.db_connect.nfosuffix() gamelist = Blueprint('gamelist', __name__, template_folder='templates') # Collects all _index.nfo-files present and crunches them into a list of # games. @gamelist.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 @gamelist.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 = bcnsGDSAPI.modules.game.showgame(nfo, True, True, True) glist.append(game) except Exception as e: print(nfo, e) set_gamelist(glist) return make_response("