From def50915bccbc6ffb60decc8def162138bdb359e Mon Sep 17 00:00:00 2001 From: Dave Date: Thu, 20 Sep 2018 00:02:55 -0500 Subject: [PATCH] split card handling --- scryfall_scraper.py | 44 +++++++++++++++++++++++++++++--------------- 1 file changed, 29 insertions(+), 15 deletions(-) diff --git a/scryfall_scraper.py b/scryfall_scraper.py index 6f03e431..b24b1740 100644 --- a/scryfall_scraper.py +++ b/scryfall_scraper.py @@ -45,22 +45,36 @@ def convert_scryfall(scryfall): for card in scryfall: if card == "cards" or card == "" or card == []: continue - if 'layout' in card and card['layout'] == 'transform': - cardNoFaces = {} - for key in card: - if key != 'card_faces': - cardNoFaces[key] = card[key] - cardNoFaces['layout'] = 'double-faced' - cardNoFaces['names'] = [card['card_faces'][0]['name'], card['card_faces'][1]['name']] - card1 = dict(cardNoFaces.items() + card['card_faces'][0].items()) - card2 = dict(cardNoFaces.items() + card['card_faces'][1].items()) - card1['collector_number'] = card1['collector_number'] + 'a' - card2['collector_number'] = card2['collector_number'] + 'b' - scryfall2.append(card1) - scryfall2.append(card2) + if 'layout' in card: + if card['layout'] == 'transform': + cardNoFaces = {} + for key in card: + if key != 'card_faces': + cardNoFaces[key] = card[key] + cardNoFaces['layout'] = 'double-faced' + cardNoFaces['names'] = [card['card_faces'][0]['name'], card['card_faces'][1]['name']] + card1 = dict(cardNoFaces.items() + card['card_faces'][0].items()) + card2 = dict(cardNoFaces.items() + card['card_faces'][1].items()) + card1['collector_number'] = card1['collector_number'] + 'a' + card2['collector_number'] = card2['collector_number'] + 'b' + scryfall2.append(card1) + scryfall2.append(card2) + elif card['layout'] == 'split': + cardNoFaces = {} + for key in card: + if key != 'card_faces': + cardNoFaces[key] = card[key] + cardNoFaces['names'] = [card['card_faces'][0]['name'], card['card_faces'][1]['name']] + card1 = dict(cardNoFaces.items() + card['card_faces'][0].items()) + card2 = dict(cardNoFaces.items() + card['card_faces'][1].items()) + card1['collector_number'] = str(card['collector_number']) + "a" + card2['collector_number'] = str(card['collector_number']) + "b" + scryfall2.append(card1) + scryfall2.append(card2) + else: + scryfall2.append(card) else: - scryfall2.append(card) - scryfall = scryfall2 + scryfall2.append(card) scryfall = scryfall2 for card in scryfall: card2 = {} card2['cmc'] = int(card['cmc'])