Пример #1
0
def from_card_transform(scrydict):
    one = Card.from_scryfall(scrydict['card_faces'][0], True)
    two = Card.from_scryfall(scrydict['card_faces'][1], True)
    if len(scrydict['multiverse_ids']):
        one.multiverse_id = scrydict['multiverse_ids'][0]
        try:
            two.multiverse_id = scrydict['multiverse_ids'][1]
        except IndexError:
            two.multiverse_id = scrydict['multiverse_ids'][0]
    else:
        id = None
        if 'multiverse_id' in scrydict:
            id = scrydict['multiverse_id']
        one.multiverse_id = two.multiverse_id = id
    one.set_code = two.set_code = scrydict.get('set', None)
    one.rarity = two.rarity = scrydict.get('rarity', None)
    one.artist = two.artist = scrydict.get('artist', None)
    one.layout = two.layout = scrydict.get('layout', None)
    one.cmc = two.cmc = scrydict.get('cmc', None)
    one.legalities = two.legalities = scrydict.get('legalities', None)
    one.collectors_number = two.collectors_number = scrydict.get(
        'collector_number', None)
    one.id = two.card_face = one.create_id()
    two.id = one.card_face = two.create_id()
    return [one, two]
Пример #2
0
def from_card_split(scrydict):
    one = Card.from_scryfall(scrydict, True)
    two = Card.from_scryfall(scrydict, True)
    one.name = scrydict['card_faces'][0]['name']
    one.oracle_text = scrydict['card_faces'][0].get('oracle_text', None)
    one.type_line = scrydict['card_faces'][0].get('type_line', None)
    one.mana_cost = scrydict['card_faces'][0].get('mana_cost', None)
    if 'image_uris' in scrydict['card_faces'][0]:
        one.image_url = two.image_url = scrydict['card_faces'][0].get(
            'image_uris', None)
    elif 'image_uris' in scrydict:
        one.image_url = two.image_url = scrydict['image_uris'].get(
            'normal', None)
    one.toughness = scrydict['card_faces'][0].get('toughness', None)
    one.power = scrydict['card_faces'][0].get('power', None)
    two.toughness = scrydict['card_faces'][1].get('toughness', None)
    two.power = scrydict['card_faces'][1].get('power', None)
    two.cmc = one.cmc = scrydict['cmc']
    two.name = scrydict['card_faces'][1]['name']
    two.oracle_text = scrydict['card_faces'][1].get('oracle_text', None)
    two.type_line = scrydict['card_faces'][1].get('type_line', None)
    two.mana_cost = scrydict['card_faces'][1].get('mana_cost', None)
    one.id = one.create_id()
    two.id = two.create_id()
    one.card_face = two.id
    two.card_face = one.id
    return [one, two]
Пример #3
0
def from_card_vanguard(scrydict):
    card = Card.from_scryfall(scrydict)
    card.extras.update({
        'life_modifier': scrydict['life_modifier'],
        'hand_modifier': scrydict['hand_modifier']
    })
    return [card]
Пример #4
0
def tcgplayer_dict_to_card(cardict, avaiableSets=[]):
    reCard = Card()
    for k, v in cardict.items():
        try:
            val = v
            if k == 'Set Code':
                val = v.lower()
                if val not in avaiableSets:
                    logging.debug('CHANGING UP from ' + val + ' to ' +
                                  SET_CODE_MAPPINGS.get(v, 'None'))
                    val = SET_CODE_MAPPINGS.get(v, None)
            local = TCGPLAYER_MAPPINGS[k]
            reCard[local] = val
        except KeyError:
            pass

    return reCard
Пример #5
0
def parse_card_response(scrycard):
    if scrycard['layout'] in [
            'normal', 'leveler', 'planar', 'scheme', 'token', 'emblem'
    ]:
        return [Card.from_scryfall(scrycard)]
    elif 'split' == scrycard['layout']:
        return from_card_split(scrycard)
    elif 'transform' == scrycard['layout']:
        return from_card_transform(scrycard)
    elif 'flip' == scrycard['layout']:
        return from_card_flip(scrycard)
    elif 'meld' == scrycard['layout']:
        return from_card_meld(scrycard)
    elif 'vanguard' == scrycard['layout']:
        return from_card_vanguard(scrycard)
    else:
        raise ValueError('Do not know of type ' +
                         scrycard.get('layout', 'NONE'))
Пример #6
0
def from_card_meld(scrydict):
    return [Card.from_scryfall(scrydict)]
Пример #7
0
def from_card_meld(scrydict):
    card = Card.from_scryfall(scrydict)
    card.extras.update({'all_parts': scrydict['all_parts']})
    return [card]
Пример #8
0
def from_card_flip(scrydict):
    card = Card.from_scryfall(scrydict)
    card.extras.update({'card_faces': scrydict['card_faces']})
    return [card]
Пример #9
0
def test_scryfall():
    c = Card()
    c.name = "Bog Imp"
    cards = scryfalldealer.find_cards_by_name([c])
    print(cards)
Пример #10
0
def test_single_load():
    x = json.load(open('./test/support/single.json'))
    card = Card.from_scryfall(x)
    print(card.get_db_values())