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.

206 lines
13 KiB
Python

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 + "gamebuild/"
else:
cardstring += variables.gameserverpath
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 + "gamebuild/"
else:
cardstring += variables.gameserverpath
cardstring += "C.png\" alt=\"C\" title=\"Completed\">\n"
except:
try:
if game["beaten"]:
cardstring += " <img src=\""
if local:
cardstring += variables.localpath + "gamebuild/"
else:
cardstring += variables.gameserverpath
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 + "gamebuild/"
else:
cardstring += variables.gameserverpath
cardstring += "E.png\" alt=\"E\" title=\"Endless\">\n"
else:
cardstring += " <img src=\""
if local:
cardstring += variables.localpath + "gamebuild/"
else:
cardstring += variables.gameserverpath
cardstring += "UF.png\" alt=\"UF\" title=\"Unfinished\">\n"
except:
cardstring += " <img src=\""
if local:
cardstring += variables.localpath + "gamebuild/"
else:
cardstring += variables.gameserverpath
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 + "gamebuild/"
else:
cardstring += variables.gameserverpath
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 + "gamebuild/"
else:
cardstring += variables.gameserverpath
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 + "gamebuild/"
else:
cardstring += variables.gameserverpath
cardstring += "paused.png\" alt=\"\" title=\"Paused\">\n </div>\n"
else:
cardstring += " </div>\n <div class=\"priority\">\n <img src=\""
if local:
cardstring += variables.localpath + "gamebuild/"
else:
cardstring += variables.gameserverpath
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 <div class=\"status-dot Added\"></div>Added</div>\n </div>\n"
try:
if game["firstplayed"]:
cardstring += " <div>\n <div>" + game["firstplayed"].strftime("%Y-%m-%d") + "</div>\n <div>\n <div class=\"status-dot "
if game["id"] in variables.endlessgames:
cardstring += "Endless"
else:
cardstring += "Started"
cardstring += "\"></div>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 <div class=\"status-dot Beaten\"></div>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 <div class=\"status-dot Completed\"></div>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)