diff --git a/new.py b/new.py index 3ffc7cf..030fb34 100644 --- a/new.py +++ b/new.py @@ -8,7 +8,7 @@ numbers = ["01","02","03","04","05","06","07","08","09","10","11","12","13","14" print("Getting list of deck colours") -deckkey = [] +deckkey = {} request = requests.get("https://colors-tcg.eu/cards.php?view=alpha") alldecks = open("key.html","w") @@ -31,10 +31,8 @@ for row in souprows: soupcells = row.find_all("td") deckname = soupcells[2].text.lower().replace(" ","").replace("'","").replace("รง","c").replace(".","").replace("politetness","politeness") decktype = soupcells[3].text.lower() - thedeck = {} - thedeck[deckname] = decktype if decktype in values: - deckkey.append(thedeck) + deckkey[deckname] = decktype print("Parsing log") @@ -66,10 +64,7 @@ for event in log.log: thedecks = {} for spacedeck in event["decks"]: deck = spacedeck.replace(" ","") - for keydeck in deckkey: - if deck in keydeck: - thedecks[spacedeck] = keydeck[deck] - break + thedecks[spacedeck] = deckkey[deck] portcolours = list(thedecks.values()) portcolours = sorted(list(dict.fromkeys(portcolours))) if len(portcolours) < 3: @@ -106,10 +101,10 @@ for event in log.log: if card[0:4] == "sig_": thecard["colour"] = "sig" else: - for deck in deckkey: - if thedeck in deck: - thecard["colour"] = deck[thedeck] - break + try: + thecard["colour"] = deckkey[thedeck] + except: + pass try: if thecard["colour"]: pass @@ -268,10 +263,7 @@ decklist = [] for deck in decks: thedeck = {} thedeck["name"] = deck - for keydeck in deckkey: - if deck in keydeck: - thedeck["colour"] = keydeck[deck] - break + thedeck["colour"] = deckkey[deck] thedeck["mass"] = [] thedeck["massmaster"] = [] for theme in variables.masscollect: @@ -346,11 +338,41 @@ for deck in decklist: for number in numbers: if deck[number] == None: wantedcard = {} - wantedcard["name"] = deck["name"] + str(number) + wantedcard["name"] = deck["name"] + number wantedcard["colour"] = deck["colour"] wantedcard["priority"] = deck["priority"] wantedlist.append(wantedcard) +decknames = [] +for deck in decklist: + decknames.append(deck["name"]) + +for theme in variables.masscollect: + if variables.masscollect[theme]["full"] == True: + try: + for deck in variables.masscollect[theme]["decks"]: + if deck not in decknames: + for number in numbers: + wantedcard = {} + wantedcard["name"] = deck + number + wantedcard["colour"] = deckkey[deck] + wantedcard["priority"] = 3 + wantedlist.append(wantedcard) + except KeyError: + pass + try: + for card in variables.masscollect[theme]["singles"]: + if card[:-2] not in decknames: + wantedcard = {} + wantedcard["name"] = card + wantedcard["colour"] = deckkey[card[:-2]] + wantedcard["priority"] = 3 + wantedlist.append(wantedcard) + except KeyError: + pass + +wantedlist = sorted(wantedlist, key=lambda d: d["name"]) + print("Adjusting card priorities") for card in cardlist: