You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
201 lines
12 KiB
Python
201 lines
12 KiB
Python
10 months ago
|
import gamesort,variables
|
||
|
from pathlib import Path
|
||
|
from datetime import datetime,timedelta
|
||
|
|
||
|
home = str(Path.home())
|
||
|
|
||
|
def playcard(game,local=False,decay=False):
|
||
|
cardstring = ""
|
||
|
if decay == True:
|
||
|
cardstring += " <details class=\"game-item decay\">\n"
|
||
|
else:
|
||
|
cardstring += " <details class=\"game-item\">\n"
|
||
|
cardstring += " <summary>\n <div class=\"platform\">\n <div>\n"
|
||
|
for console in variables.consoles:
|
||
|
if game["console"] == console["code"]:
|
||
|
cardstring += " <img src=\""
|
||
|
if local:
|
||
|
cardstring += variables.localpath + "build/"
|
||
|
else:
|
||
|
cardstring += variables.serverpath
|
||
|
cardstring += console["img"] + ".png\" title=\"" + console["name"] + "\" alt=\"" + console["shortname"] + "\" class=\"bw\">\n"
|
||
|
cardstring += " </div>\n </div>\n <div class=\"status\">\n"
|
||
|
try:
|
||
|
if game["completed"]:
|
||
|
cardstring += " <img src=\""
|
||
|
if local:
|
||
|
cardstring += variables.localpath + "build/"
|
||
|
else:
|
||
|
cardstring += variables.serverpath
|
||
|
cardstring += "C.png\" alt=\"C\" title=\"Completed\">\n"
|
||
|
except:
|
||
|
try:
|
||
|
if game["beaten"]:
|
||
|
cardstring += " <img src=\""
|
||
|
if local:
|
||
|
cardstring += variables.localpath + "build/"
|
||
|
else:
|
||
|
cardstring += variables.serverpath
|
||
|
cardstring += "B.png\" alt=\"B\" title=\"Beaten\">\n"
|
||
|
except:
|
||
|
try:
|
||
|
if game["gameplay"]:
|
||
|
if game["id"] in variables.endlessgames:
|
||
|
cardstring += " <img src=\""
|
||
|
if local:
|
||
|
cardstring += variables.localpath + "build/"
|
||
|
else:
|
||
|
cardstring += variables.serverpath
|
||
|
cardstring += "E.png\" alt=\"E\" title=\"Endless\">\n"
|
||
|
else:
|
||
|
cardstring += " <img src=\""
|
||
|
if local:
|
||
|
cardstring += variables.localpath + "build/"
|
||
|
else:
|
||
|
cardstring += variables.serverpath
|
||
|
cardstring += "UF.png\" alt=\"UF\" title=\"Unfinished\">\n"
|
||
|
except:
|
||
|
cardstring += " <img src=\""
|
||
|
if local:
|
||
|
cardstring += variables.localpath + "build/"
|
||
|
else:
|
||
|
cardstring += variables.serverpath
|
||
|
cardstring += "UP.png\" alt=\"UP\" title=\"Unplayed\">\n"
|
||
|
cardstring += " </div>\n <div class=\"text\">\n <div class=\"title\">" + game["name"] + "</div>\n"
|
||
|
try:
|
||
|
if len(game["recent"]) > 1:
|
||
|
cardstring += " <div class=\"markdown\">" + game["recent"] + "</div>\n"
|
||
|
except:
|
||
|
pass
|
||
|
try:
|
||
|
if game["gameplay"]:
|
||
|
try:
|
||
|
if game["completed"]:
|
||
|
if game["gameplay"] > game["completed"]:
|
||
|
if game["gameplay"] < (datetime.now() - timedelta(days=180)):
|
||
|
cardstring += " </div>\n <div class=\"priority\">\n <span title=\"Normal\"/>\n </div>\n"
|
||
|
else:
|
||
|
cardstring += " </div>\n <div class=\"priority\">\n <img src=\""
|
||
|
if local:
|
||
|
cardstring += variables.localpath + "build/"
|
||
|
else:
|
||
|
cardstring += variables.serverpath
|
||
|
cardstring += "nowplaying.png\" alt=\"⯈\" title=\"Now Playing\">\n </div>\n"
|
||
|
else:
|
||
|
cardstring += " </div>\n <div class=\"priority\">\n <span title=\"Normal\"/>\n </div>\n"
|
||
|
except:
|
||
|
try:
|
||
|
if game["beaten"]:
|
||
|
if game["gameplay"] > game["beaten"]:
|
||
|
if game["gameplay"] < (datetime.now() - timedelta(days=180)):
|
||
|
cardstring += " </div>\n <div class=\"priority\">\n <span title=\"Normal\"/>\n </div>\n"
|
||
|
else:
|
||
|
cardstring += " </div>\n <div class=\"priority\">\n <img src=\""
|
||
|
if local:
|
||
|
cardstring += variables.localpath + "build/"
|
||
|
else:
|
||
|
cardstring += variables.serverpath
|
||
|
cardstring += "nowplaying.png\" alt=\"⯈\" title=\"Now Playing\">\n </div>\n"
|
||
|
else:
|
||
|
cardstring += " </div>\n <div class=\"priority\">\n <span title=\"Normal\"/>\n </div>\n"
|
||
|
except:
|
||
|
if game["gameplay"] < (datetime.now() - timedelta(days=180)):
|
||
|
if game["id"] in variables.endlessgames:
|
||
|
cardstring += " </div>\n <div class=\"priority\">\n <span title=\"Normal\"/>\n </div>\n"
|
||
|
else:
|
||
|
cardstring += " </div>\n <div class=\"priority\">\n <img src=\""
|
||
|
if local:
|
||
|
cardstring += variables.localpath + "build/"
|
||
|
else:
|
||
|
cardstring += variables.serverpath
|
||
|
cardstring += "paused.png\" alt=\"⏸\" title=\"Paused\">\n </div>\n"
|
||
|
else:
|
||
|
cardstring += " </div>\n <div class=\"priority\">\n <img src=\""
|
||
|
if local:
|
||
|
cardstring += variables.localpath + "build/"
|
||
|
else:
|
||
|
cardstring += variables.serverpath
|
||
|
cardstring += "nowplaying.png\" alt=\"⯈\" title=\"Now Playing\">\n </div>\n"
|
||
|
except:
|
||
|
cardstring += " </div>\n <div class=\"priority\">\n <span title=\"Normal\"/>\n </div>\n"
|
||
|
cardstring += " </summary>\n <div class=\"game-info game-guest\">\n <div class=\"data\">\n <div class=\"box_2\">\n"
|
||
|
try:
|
||
|
if len(game["recent"]) > 1:
|
||
|
cardstring += " <div>\n <label>Notes</label>\n <div class=\"markdown\">" + game["recent"] + "</div>\n </div>\n"
|
||
|
except:
|
||
|
pass
|
||
|
cardstring += " <div class=\"flex\">\n <div>\n <label>Status</label>\n <p>"
|
||
|
try:
|
||
|
if game["completed"]:
|
||
|
cardstring += "Completed"
|
||
|
except:
|
||
|
try:
|
||
|
if game["beaten"]:
|
||
|
cardstring += "Beaten"
|
||
|
except:
|
||
|
try:
|
||
|
if game["gameplay"]:
|
||
|
if game["id"] in variables.endlessgames:
|
||
|
cardstring += "Endless"
|
||
|
else:
|
||
|
cardstring += "Unfinished"
|
||
|
except:
|
||
|
cardstring += "Unplayed"
|
||
|
cardstring += "</p>\n </div>\n <div>\n <label>Currently</label>\n <p>"
|
||
|
try:
|
||
|
if game["gameplay"]:
|
||
|
try:
|
||
|
if game["completed"]:
|
||
|
if game["gameplay"] > game["completed"]:
|
||
|
if game["gameplay"] < (datetime.now() - timedelta(days=180)):
|
||
|
cardstring += "Not playing"
|
||
|
else:
|
||
|
cardstring += "Playing"
|
||
|
else:
|
||
|
cardstring += "Not playing"
|
||
|
except:
|
||
|
try:
|
||
|
if game["beaten"]:
|
||
|
if game["gameplay"] > game["beaten"]:
|
||
|
if game["gameplay"] < (datetime.now() - timedelta(days=180)):
|
||
|
cardstring += "Not playing"
|
||
|
else:
|
||
|
cardstring += "Playing"
|
||
|
else:
|
||
|
cardstring += "Not playing"
|
||
|
except:
|
||
|
if game["gameplay"] < (datetime.now() - timedelta(days=180)):
|
||
|
if game["id"] in variables.endlessgames:
|
||
|
cardstring += "Not playing"
|
||
|
else:
|
||
|
cardstring += "Paused"
|
||
|
else:
|
||
|
cardstring += "Playing"
|
||
|
except:
|
||
|
cardstring += "Not playing"
|
||
|
cardstring += "</p>\n </div>\n </div>\n </div>\n <div class=\"box_1 m-r0\">\n <div>\n <label>Platform</label>\n <p>"
|
||
|
for console in variables.consoles:
|
||
|
if game["console"] == console["code"]:
|
||
|
cardstring += console["name"]
|
||
|
cardstring += "</p>\n </div>\n <div>\n <label>Last Updated</label>\n <p>" + game["lastupdate"].strftime("%Y-%m-%d") + "</p>\n </div>\n </div>\n </div>\n <div class=\"history\">\n <div class=\"box_1\">\n <h2>Milestones</h2>\n <div class=\"list\">\n <div>\n <div>" + game["initialdate"].strftime("%Y-%m-%d") + "</div>\n <div>\n Added</div>\n </div>\n"
|
||
|
try:
|
||
|
if game["firstplayed"]:
|
||
|
cardstring += " <div>\n <div>" + game["firstplayed"].strftime("%Y-%m-%d") + "</div>\n <div>\n Started</div>\n </div>\n"
|
||
|
except:
|
||
|
pass
|
||
|
try:
|
||
|
if game["beaten"]:
|
||
|
cardstring += " <div>\n <div>" + game["beaten"].strftime("%Y-%m-%d") + "</div>\n <div>\n Beaten</div>\n </div>\n"
|
||
|
except:
|
||
|
pass
|
||
|
try:
|
||
|
if game["completed"]:
|
||
|
cardstring += " <div>\n <div>" + game["completed"].strftime("%Y-%m-%d") + "</div>\n <div>\n Completed</div>\n </div>\n"
|
||
|
except:
|
||
|
pass
|
||
|
cardstring += " </div>\n </div>\n </div>\n </div>\n </details>\n"
|
||
|
return cardstring
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
playcard(gamesort.games[0],True)
|