Skip over decks with pending cards in art shop requests instead of adding and then deleting them

This commit is contained in:
mez 2025-09-07 08:31:18 +01:00
parent b0932e503a
commit babc2516cf

116
tools.py
View file

@ -871,131 +871,119 @@ def artshop():
elif card["colour"] == "gray":
wantgrey.append(card)
requestcards = []
penddecks = []
for card in colors.pends:
penddecks.append(card[:-2])
penddecks = sorted(list(dict.fromkeys(penddecks)))
potentialred = []
requestred = []
potentialred.extend(wantred[:colors.crayred])
added = 0
for card in wantred:
if added < colors.crayred:
if card["name"][:-2] not in penddecks:
potentialred.append(card)
added += 1
for card in potentialred:
if card["name"][:-2] != wantred[colors.crayred]["name"][:-2]:
requestred.append(card)
proceed = True
for card in requestred:
for pendcard in colors.pends:
if pendcard[:-2] == card["name"][:-2]:
proceed = False
if not proceed:
requestred = []
if len(requestred) > 0:
for card in requestred:
requestcards.append(card["name"])
potentialorange = []
requestorange = []
potentialorange.extend(wantorange[:colors.crayorange])
added = 0
for card in wantorange:
if added < colors.crayorange:
if card["name"][:-2] not in penddecks:
potentialorange.append(card)
added += 1
for card in potentialorange:
if card["name"][:-2] != wantorange[colors.crayorange]["name"][:-2]:
requestorange.append(card)
proceed = True
for card in requestorange:
for pendcard in colors.pends:
if pendcard[:-2] == card["name"][:-2]:
proceed = False
if not proceed:
requestorange = []
if len(requestorange) > 0:
for card in requestorange:
requestcards.append(card["name"])
potentialyellow = []
requestyellow = []
potentialyellow.extend(wantyellow[:colors.crayyellow])
added = 0
for card in wantyellow:
if added < colors.crayyellow:
if card["name"][:-2] not in penddecks:
potentialyellow.append(card)
added += 1
for card in potentialyellow:
if card["name"][:-2] != wantyellow[colors.crayyellow]["name"][:-2]:
requestyellow.append(card)
proceed = True
for card in requestyellow:
for pendcard in colors.pends:
if pendcard[:-2] == card["name"][:-2]:
proceed = False
if not proceed:
requestyellow = []
if len(requestyellow) > 0:
for card in requestyellow:
requestcards.append(card["name"])
potentialgreen = []
requestgreen = []
potentialgreen.extend(wantgreen[:colors.craygreen])
added = 0
for card in wantgreen:
if added < colors.craygreen:
if card["name"][:-2] not in penddecks:
potentialgreen.append(card)
added += 1
for card in potentialgreen:
if card["name"][:-2] != wantgreen[colors.craygreen]["name"][:-2]:
requestgreen.append(card)
proceed = True
for card in requestgreen:
for pendcard in colors.pends:
if pendcard[:-2] == card["name"][:-2]:
proceed = False
if not proceed:
requestgreen = []
if len(requestgreen) > 0:
for card in requestgreen:
requestcards.append(card["name"])
potentialblue = []
requestblue = []
potentialblue.extend(wantblue[:colors.crayblue])
added = 0
for card in wantblue:
if added < colors.crayblue:
if card["name"][:-2] not in penddecks:
potentialblue.append(card)
added += 1
for card in potentialblue:
if card["name"][:-2] != wantblue[colors.crayblue]["name"][:-2]:
requestblue.append(card)
proceed = True
for card in requestblue:
for pendcard in colors.pends:
if pendcard[:-2] == card["name"][:-2]:
proceed = False
if not proceed:
requestblue = []
if len(requestblue) > 0:
for card in requestblue:
requestcards.append(card["name"])
potentialpurple = []
requestpurple = []
potentialpurple.extend(wantpurple[:colors.craypurple])
added = 0
for card in wantpurple:
if added < colors.craypurple:
if card["name"][:-2] not in penddecks:
potentialpurple.append(card)
added += 1
for card in potentialpurple:
if card["name"][:-2] != wantpurple[colors.craypurple]["name"][:-2]:
requestpurple.append(card)
proceed = True
for card in requestpurple:
for pendcard in colors.pends:
if pendcard[:-2] == card["name"][:-2]:
proceed = False
if not proceed:
requestpurple = []
if len(requestpurple) > 0:
for card in requestpurple:
requestcards.append(card["name"])
potentialbrown = []
requestbrown = []
potentialbrown.extend(wantbrown[:colors.craybrown])
added = 0
for card in wantbrown:
if added < colors.craybrown:
if card["name"][:-2] not in penddecks:
potentialbrown.append(card)
added += 1
for card in potentialbrown:
if card["name"][:-2] != wantbrown[colors.craybrown]["name"][:-2]:
requestbrown.append(card)
proceed = True
for card in requestbrown:
for pendcard in colors.pends:
if pendcard[:-2] == card["name"][:-2]:
proceed = False
if not proceed:
requestbrown = []
if len(requestbrown) > 0:
for card in requestbrown:
requestcards.append(card["name"])
potentialgrey = []
requestgrey = []
potentialgrey.extend(wantgrey[:colors.craygrey])
added = 0
for card in wantgrey:
if added < colors.craygrey:
if card["name"][:-2] not in penddecks:
potentialgrey.append(card)
added += 1
for card in potentialgrey:
if card["name"][:-2] != wantgrey[colors.craygrey]["name"][:-2]:
requestgrey.append(card)
proceed = True
for card in requestgrey:
for pendcard in colors.pends:
if pendcard[:-2] == card["name"][:-2]:
proceed = False
if not proceed:
requestgrey = []
if len(requestgrey) > 0:
for card in requestgrey:
requestcards.append(card["name"])