Sort wantlist in a more granular fashion

This commit is contained in:
mez 2025-07-27 23:30:29 +01:00
parent 26ce704b79
commit ae082c586e

View file

@ -553,6 +553,7 @@ for deck in decklist:
wantedcard["series"] = deck["series"] wantedcard["series"] = deck["series"]
wantedcard["priority"] = deck["priority"] wantedcard["priority"] = deck["priority"]
wantedcard["mass"] = deck["mass"] wantedcard["mass"] = deck["mass"]
wantedcard["count"] = deck["count"]
wantedlist.append(wantedcard) wantedlist.append(wantedcard)
decknames = [] decknames = []
@ -571,6 +572,7 @@ for deck in variables.lowpriority:
wantedcard["colour"] = deckkey[deck]["type"] wantedcard["colour"] = deckkey[deck]["type"]
wantedcard["series"] = deckkey[deck]["series"] wantedcard["series"] = deckkey[deck]["series"]
wantedcard["priority"] = 3 wantedcard["priority"] = 3
wantedcard["count"] = 0
wantedlist.append(wantedcard) wantedlist.append(wantedcard)
for theme in variables.masscollect: for theme in variables.masscollect:
@ -585,6 +587,7 @@ for theme in variables.masscollect:
wantedcard["colour"] = deckkey[deck]["type"] wantedcard["colour"] = deckkey[deck]["type"]
wantedcard["series"] = deckkey[deck]["series"] wantedcard["series"] = deckkey[deck]["series"]
wantedcard["priority"] = 3 wantedcard["priority"] = 3
wantedcard["count"] = 0
wantedlist.append(wantedcard) wantedlist.append(wantedcard)
except KeyError: except KeyError:
pass pass
@ -597,6 +600,7 @@ for theme in variables.masscollect:
wantedcard["colour"] = deckkey[deck]["type"] wantedcard["colour"] = deckkey[deck]["type"]
wantedcard["series"] = deckkey[deck]["series"] wantedcard["series"] = deckkey[deck]["series"]
wantedcard["priority"] = 3 wantedcard["priority"] = 3
wantedcard["count"] = 0
wantedlist.append(wantedcard) wantedlist.append(wantedcard)
except KeyError: except KeyError:
pass pass
@ -608,11 +612,13 @@ for theme in variables.masscollect:
wantedcard["colour"] = deckkey[card[:-2]]["type"] wantedcard["colour"] = deckkey[card[:-2]]["type"]
wantedcard["series"] = deckkey[card[:-2]]["series"] wantedcard["series"] = deckkey[card[:-2]]["series"]
wantedcard["priority"] = 3 wantedcard["priority"] = 3
wantedcard["count"] = 0
wantedlist.append(wantedcard) wantedlist.append(wantedcard)
except KeyError: except KeyError:
pass pass
wantedlist = sorted(wantedlist, key=lambda d: d["name"]) wantedlist = sorted(wantedlist, key=lambda d: d["name"])
wantedlist = sorted(wantedlist, key=lambda d: d["count"],reverse=True)
wantedlist = sorted(wantedlist, key=lambda d: d["priority"]) wantedlist = sorted(wantedlist, key=lambda d: d["priority"])
removelist = [] removelist = []
@ -2420,54 +2426,65 @@ def wantedgen():
content.write(", ") content.write(", ")
content.write(card["name"]) content.write(card["name"])
precomma = True precomma = True
precomma = False
content.write("</textarea>\n<h2>High priority</h2>\n<textarea readonly>") content.write("</textarea>\n<h2>High priority</h2>\n<textarea readonly>")
wanthigh = []
for card in wantedlist: for card in wantedlist:
if card["priority"] == 1: if card["priority"] == 1:
if precomma: wanthigh.append(card)
content.write(", ") wanthigh = sorted(wanthigh, key=lambda d: d["name"])
content.write(card["name"])
precomma = True
precomma = False precomma = False
for card in wanthigh:
if precomma:
content.write(", ")
content.write(card["name"])
precomma = True
content.write("</textarea>\n<p>") content.write("</textarea>\n<p>")
for card in wantedlist: precomma = False
if card["priority"] == 1: for card in wanthigh:
if precomma: if precomma:
content.write(", ") content.write(", ")
content.write(cardtext(card)) content.write(cardtext(card))
precomma = True precomma = True
precomma = False precomma = False
content.write("</p>\n<h2>Medium priority</h2>\n<textarea readonly>") content.write("</p>\n<h2>Medium priority</h2>\n<textarea readonly>")
wantmed = []
for card in wantedlist: for card in wantedlist:
if card["priority"] == 2: if card["priority"] == 2:
if precomma: wantmed.append(card)
content.write(", ") wantmed = sorted(wantmed, key=lambda d: d["name"])
content.write(card["name"])
precomma = True
precomma = False precomma = False
for card in wantmed:
if precomma:
content.write(", ")
content.write(card["name"])
precomma = True
content.write("</textarea>\n<p>") content.write("</textarea>\n<p>")
for card in wantedlist: precomma = False
if card["priority"] == 2: for card in wantmed:
if precomma: if precomma:
content.write(", ") content.write(", ")
content.write(cardtext(card)) content.write(cardtext(card))
precomma = True precomma = True
precomma = False precomma = False
content.write("</p>\n<h2>Low priority</h2>\n<textarea readonly>") content.write("</p>\n<h2>Low priority</h2>\n<textarea readonly>")
wantlow = []
for card in wantedlist: for card in wantedlist:
if card["priority"] == 3: if card["priority"] == 3:
if precomma: wantlow.append(card)
content.write(", ") wantlow = sorted(wantlow, key=lambda d: d["name"])
content.write(card["name"])
precomma = True
precomma = False precomma = False
for card in wantlow:
if precomma:
content.write(", ")
content.write(card["name"])
precomma = True
content.write("</textarea>\n<p>") content.write("</textarea>\n<p>")
for card in wantedlist: precomma = False
if card["priority"] == 3: for card in wantlow:
if precomma: if precomma:
content.write(", ") content.write(", ")
content.write(cardtext(card)) content.write(cardtext(card))
precomma = True precomma = True
content.write("</p>\n") content.write("</p>\n")
content.close() content.close()
footerwrite(thefile) footerwrite(thefile)