diff --git a/tools.py b/tools.py index ea709c8..1a93692 100644 --- a/tools.py +++ b/tools.py @@ -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"])