import os import cardstring,gamesort,gameskel,variables from pathlib import Path """ Generates sublibrary pages """ home = str(Path.home()) def sublibrary(local=False): statuses = ["all","completed","beaten","unfinished","endless","unplayed"] consoleextra = [{"shortname":"all"}] consolesplus = variables.consoles + consoleextra for console in consolesplus: gameslist = [] for game in gamesort.games: if console["shortname"] == "all": gameslist.append(game) elif game["console"] == console["code"]: gameslist.append(game) for status in statuses: filterlist = [] if status == "all": for game in gameslist: filterlist.append(game) elif status == "completed": for game in gameslist: try: if game["completed"]: filterlist.append(game) except: pass elif status == "beaten": for game in gameslist: try: if game["completed"]: pass except: try: if game["beaten"]: filterlist.append(game) except: pass elif status == "unfinished": for game in gameslist: try: if game["completed"]: pass except: try: if game["beaten"]: pass except: try: if game["gameplay"]: if game["id"] not in variables.endlessgames: filterlist.append(game) except: pass elif status == "endless": for game in gameslist: try: if game["completed"]: pass except: try: if game["beaten"]: pass except: try: if game["gameplay"]: if game["id"] in variables.endlessgames: filterlist.append(game) except: pass elif status == "unplayed": for game in gameslist: try: if game["completed"]: pass except: try: if game["beaten"]: pass except: try: if game["gameplay"]: pass except: filterlist.append(game) if not os.path.isdir("gamebuild/library/" + console["shortname"].lower() + "-" + status): if len(filterlist) > 0: os.mkdir("gamebuild/library/" + console["shortname"].lower() + "-" + status) if os.path.exists("gamebuild/library/" + console["shortname"].lower() + "-" + status + "/index.html"): os.remove("gamebuild/library/" + console["shortname"].lower() + "-" + status + "/index.html") # write header if len(filterlist) > 0: gameskel.headerwrite(("gamebuild/library/" + console["shortname"].lower() + "-" + status + "/index.html"),"sublibrary",local) output = "gamebuild/library/" + console["shortname"].lower() + "-" + status + "/index.html" filewrite = open(output, "a") filewrite.write("
\n
\n
\n
Filtered by\n") if console["shortname"] != "all": filewrite.write(" 1 Platformx\n") if status != "all": filewrite.write(" 1 Statusx\n") filewrite.write("
\n
\n
\n Total Found " + str(gamesort.total(filterlist)) + "\n
\n") if gamesort.unplayed(filterlist) > 0: filewrite.write(" \n") if gamesort.unfinished(filterlist) > 0: filewrite.write(" \n") if gamesort.beaten(filterlist) > 0: filewrite.write(" \n") if gamesort.completed(filterlist) > 0: filewrite.write(" \n") if gamesort.endless(filterlist) > 0: filewrite.write(" \n") filewrite.write("
\n
\n") newgames = sorted(filterlist,key=lambda d: d["id"]) for game in newgames: filewrite.write(cardstring.playcard(game,local)) filewrite.close() gameskel.footerwrite("gamebuild/library/" + console["shortname"].lower() + "-" + status + "/index.html") if __name__ == "__main__": sublibrary(True)