Updated test files and changes in scryfall db

Also removed PromoType - don't need that right now
This commit is contained in:
2025-08-16 02:41:17 +01:00
parent 9c2d9c1fb7
commit da121940da
5 changed files with 90 additions and 87 deletions

View File

@@ -43,6 +43,7 @@ pub struct ScryfallCard {
pub colours: Option<Vec<Colour>>, pub colours: Option<Vec<Colour>>,
pub edhrec_rank: Option<u64>, pub edhrec_rank: Option<u64>,
pub defense: Option<String>, pub defense: Option<String>,
pub game_changer: bool,
pub hand_modifier: Option<String>, pub hand_modifier: Option<String>,
pub keywords: Vec<String>, // Words like "Flying" pub keywords: Vec<String>, // Words like "Flying"
pub legalities: FormatLegalities, pub legalities: FormatLegalities,
@@ -89,7 +90,8 @@ pub struct ScryfallCard {
pub printed_text: Option<String>, pub printed_text: Option<String>,
pub printed_type_line: Option<String>, pub printed_type_line: Option<String>,
pub promo: bool, pub promo: bool,
pub promo_types: Option<Vec<PromoTypes>>, //pub promo_types: Option<Vec<PromoTypes>>,
pub promo_types: Option<Vec<String>>,
pub purchase_uris: Option<PurchaseUris>, pub purchase_uris: Option<PurchaseUris>,
pub rarity: Rarity, pub rarity: Rarity,
pub related_uris: Value, // TODO: - list all the URIs? Maybe? Who cares? pub related_uris: Value, // TODO: - list all the URIs? Maybe? Who cares?
@@ -199,7 +201,6 @@ pub struct FormatLegalities {
timeless: Legality, timeless: Legality,
gladiator: Legality, gladiator: Legality,
pioneer: Legality, pioneer: Legality,
explorer: Legality,
modern: Legality, modern: Legality,
legacy: Legality, legacy: Legality,
pauper: Legality, pauper: Legality,

View File

@@ -47,6 +47,7 @@ pub fn download_latest(
stype: ScryfallBulkType, stype: ScryfallBulkType,
mut dest_file: &NamedTempFile, mut dest_file: &NamedTempFile,
) -> Result<(), Box<dyn std::error::Error>> { ) -> Result<(), Box<dyn std::error::Error>> {
panic!();
let bulk_body: ScryfallBulk = ureq::get(SCRYFALL_BULK_API) let bulk_body: ScryfallBulk = ureq::get(SCRYFALL_BULK_API)
.header("User-Agent", "Arthur's Card Finger Testing v0.1") .header("User-Agent", "Arthur's Card Finger Testing v0.1")
.header("Accept", "application/json") .header("Accept", "application/json")

View File

@@ -1,28 +1,32 @@
{ {
"object": "card", "object": "card",
"id": "f5d24a5b-c950-4fd9-99e6-a4b979d915b3", "id": "bd8fa327-dd41-4737-8f19-2cf5eb1f7cdd",
"oracle_id": "5089ec1a-f881-4d55-af14-5d996171203b", "oracle_id": "5089ec1a-f881-4d55-af14-5d996171203b",
"multiverse_ids": [], "multiverse_ids": [
382866
],
"mtgo_id": 53155,
"mtgo_foil_id": 53156,
"name": "Black Lotus", "name": "Black Lotus",
"lang": "en", "lang": "en",
"released_at": "2023-12-08", "released_at": "2014-06-16",
"uri": "https://api.scryfall.com/cards/f5d24a5b-c950-4fd9-99e6-a4b979d915b3", "uri": "https://api.scryfall.com/cards/bd8fa327-dd41-4737-8f19-2cf5eb1f7cdd",
"scryfall_uri": "https://scryfall.com/card/ovnt/2023NA/black-lotus?utm_source=api", "scryfall_uri": "https://scryfall.com/card/vma/4/black-lotus?utm_source=api",
"layout": "normal", "layout": "normal",
"highres_image": false, "highres_image": true,
"image_status": "lowres", "image_status": "highres_scan",
"image_uris": { "image_uris": {
"small": "https://cards.scryfall.io/small/front/f/5/f5d24a5b-c950-4fd9-99e6-a4b979d915b3.jpg?1738105453", "small": "https://cards.scryfall.io/small/front/b/d/bd8fa327-dd41-4737-8f19-2cf5eb1f7cdd.jpg?1614638838",
"normal": "https://cards.scryfall.io/normal/front/f/5/f5d24a5b-c950-4fd9-99e6-a4b979d915b3.jpg?1738105453", "normal": "https://cards.scryfall.io/normal/front/b/d/bd8fa327-dd41-4737-8f19-2cf5eb1f7cdd.jpg?1614638838",
"large": "https://cards.scryfall.io/large/front/f/5/f5d24a5b-c950-4fd9-99e6-a4b979d915b3.jpg?1738105453", "large": "https://cards.scryfall.io/large/front/b/d/bd8fa327-dd41-4737-8f19-2cf5eb1f7cdd.jpg?1614638838",
"png": "https://cards.scryfall.io/png/front/f/5/f5d24a5b-c950-4fd9-99e6-a4b979d915b3.png?1738105453", "png": "https://cards.scryfall.io/png/front/b/d/bd8fa327-dd41-4737-8f19-2cf5eb1f7cdd.png?1614638838",
"art_crop": "https://cards.scryfall.io/art_crop/front/f/5/f5d24a5b-c950-4fd9-99e6-a4b979d915b3.jpg?1738105453", "art_crop": "https://cards.scryfall.io/art_crop/front/b/d/bd8fa327-dd41-4737-8f19-2cf5eb1f7cdd.jpg?1614638838",
"border_crop": "https://cards.scryfall.io/border_crop/front/f/5/f5d24a5b-c950-4fd9-99e6-a4b979d915b3.jpg?1738105453" "border_crop": "https://cards.scryfall.io/border_crop/front/b/d/bd8fa327-dd41-4737-8f19-2cf5eb1f7cdd.jpg?1614638838"
}, },
"mana_cost": "{0}", "mana_cost": "{0}",
"cmc": 0, "cmc": 0,
"type_line": "Artifact", "type_line": "Artifact",
"oracle_text": "{T}, Sacrifice Black Lotus: Add three mana of any one color.", "oracle_text": "{T}, Sacrifice this artifact: Add three mana of any one color.",
"colors": [], "colors": [],
"color_identity": [], "color_identity": [],
"keywords": [], "keywords": [],
@@ -40,7 +44,6 @@
"timeless": "not_legal", "timeless": "not_legal",
"gladiator": "not_legal", "gladiator": "not_legal",
"pioneer": "not_legal", "pioneer": "not_legal",
"explorer": "not_legal",
"modern": "not_legal", "modern": "not_legal",
"legacy": "banned", "legacy": "banned",
"pauper": "not_legal", "pauper": "not_legal",
@@ -58,43 +61,44 @@
"predh": "banned" "predh": "banned"
}, },
"games": [ "games": [
"paper" "mtgo"
], ],
"reserved": true, "reserved": true,
"foil": false, "game_changer": false,
"foil": true,
"nonfoil": true, "nonfoil": true,
"finishes": [ "finishes": [
"nonfoil" "nonfoil",
"foil"
], ],
"oversized": true, "oversized": false,
"promo": false, "promo": false,
"reprint": true, "reprint": true,
"variation": false, "variation": false,
"set_id": "c6a6b61b-143a-43f2-b74d-b140f3d93490", "set_id": "a944551a-73fa-41cd-9159-e8d0e4674403",
"set": "ovnt", "set": "vma",
"set_name": "Vintage Championship", "set_name": "Vintage Masters",
"set_type": "memorabilia", "set_type": "masters",
"set_uri": "https://api.scryfall.com/sets/c6a6b61b-143a-43f2-b74d-b140f3d93490", "set_uri": "https://api.scryfall.com/sets/a944551a-73fa-41cd-9159-e8d0e4674403",
"set_search_uri": "https://api.scryfall.com/cards/search?order=set&q=e%3Aovnt&unique=prints", "set_search_uri": "https://api.scryfall.com/cards/search?order=set&q=e%3Avma&unique=prints",
"scryfall_set_uri": "https://scryfall.com/sets/ovnt?utm_source=api", "scryfall_set_uri": "https://scryfall.com/sets/vma?utm_source=api",
"rulings_uri": "https://api.scryfall.com/cards/f5d24a5b-c950-4fd9-99e6-a4b979d915b3/rulings", "rulings_uri": "https://api.scryfall.com/cards/bd8fa327-dd41-4737-8f19-2cf5eb1f7cdd/rulings",
"prints_search_uri": "https://api.scryfall.com/cards/search?order=released&q=oracleid%3A5089ec1a-f881-4d55-af14-5d996171203b&unique=prints", "prints_search_uri": "https://api.scryfall.com/cards/search?order=released&q=oracleid%3A5089ec1a-f881-4d55-af14-5d996171203b&unique=prints",
"collector_number": "2023NA", "collector_number": "4",
"digital": false, "digital": true,
"rarity": "special", "rarity": "bonus",
"flavor_text": "2023 North America\nVintage Championship",
"card_back_id": "0aeebaf5-8c7d-4636-9e82-8c27447861f7", "card_back_id": "0aeebaf5-8c7d-4636-9e82-8c27447861f7",
"artist": "Scott M. Fischer", "artist": "Chris Rahn",
"artist_ids": [ "artist_ids": [
"23b0cf43-3e43-44c6-8329-96446eca5bce" "7742047e-0f80-4c0f-a530-d07460165e86"
], ],
"illustration_id": "4bc3f69f-66b6-4a6f-8b55-09df0ea4cb89", "illustration_id": "da62ded1-bedd-44c6-8950-ca56e691a899",
"border_color": "black", "border_color": "black",
"frame": "2015", "frame": "2015",
"security_stamp": "oval", "security_stamp": "oval",
"full_art": false, "full_art": false,
"textless": false, "textless": false,
"booster": false, "booster": true,
"story_spotlight": false, "story_spotlight": false,
"prices": { "prices": {
"usd": null, "usd": null,
@@ -102,16 +106,17 @@
"usd_etched": null, "usd_etched": null,
"eur": null, "eur": null,
"eur_foil": null, "eur_foil": null,
"tix": null "tix": "41.98"
}, },
"related_uris": { "related_uris": {
"tcgplayer_infinite_articles": "https://partner.tcgplayer.com/c/4931599/1830156/21018?subId1=api&trafcat=infinite&u=https%3A%2F%2Finfinite.tcgplayer.com%2Fsearch%3FcontentMode%3Darticle%26game%3Dmagic%26q%3DBlack%2BLotus", "gatherer": "https://gatherer.wizards.com/Pages/Card/Details.aspx?multiverseid=382866&printed=false",
"tcgplayer_infinite_decks": "https://partner.tcgplayer.com/c/4931599/1830156/21018?subId1=api&trafcat=infinite&u=https%3A%2F%2Finfinite.tcgplayer.com%2Fsearch%3FcontentMode%3Ddeck%26game%3Dmagic%26q%3DBlack%2BLotus", "tcgplayer_infinite_articles": "https://partner.tcgplayer.com/c/4931599/1830156/21018?subId1=api&trafcat=tcgplayer.com%2Fsearch%2Farticles&u=https%3A%2F%2Fwww.tcgplayer.com%2Fsearch%2Farticles%3FproductLineName%3Dmagic%26q%3DBlack%2BLotus",
"tcgplayer_infinite_decks": "https://partner.tcgplayer.com/c/4931599/1830156/21018?subId1=api&trafcat=tcgplayer.com%2Fsearch%2Fdecks&u=https%3A%2F%2Fwww.tcgplayer.com%2Fsearch%2Fdecks%3FproductLineName%3Dmagic%26q%3DBlack%2BLotus",
"edhrec": "https://edhrec.com/route/?cc=Black+Lotus" "edhrec": "https://edhrec.com/route/?cc=Black+Lotus"
}, },
"purchase_uris": { "purchase_uris": {
"tcgplayer": "https://partner.tcgplayer.com/c/4931599/1830156/21018?subId1=api&u=https%3A%2F%2Fwww.tcgplayer.com%2Fsearch%2Fmagic%2Fproduct%3FproductLineName%3Dmagic%26q%3DBlack%2BLotus%26view%3Dgrid", "tcgplayer": "https://partner.tcgplayer.com/c/4931599/1830156/21018?subId1=api&u=https%3A%2F%2Fwww.tcgplayer.com%2Fsearch%2Fmagic%2Fproduct%3FproductLineName%3Dmagic%26q%3DBlack%2BLotus%26view%3Dgrid",
"cardmarket": "https://www.cardmarket.com/en/Magic/Products/Search?referrer=scryfall&searchString=Black+Lotus&utm_campaign=card_prices&utm_medium=text&utm_source=scryfall", "cardmarket": "https://www.cardmarket.com/en/Magic/Products/Search?referrer=scryfall&searchString=Black+Lotus&utm_campaign=card_prices&utm_medium=text&utm_source=scryfall",
"cardhoarder": "https://www.cardhoarder.com/cards?affiliate_id=scryfall&data%5Bsearch%5D=Black+Lotus&ref=card-profile&utm_campaign=affiliate&utm_medium=card&utm_source=scryfall" "cardhoarder": "https://www.cardhoarder.com/cards/53155?affiliate_id=scryfall&ref=card-profile&utm_campaign=affiliate&utm_medium=card&utm_source=scryfall"
} }
} }

View File

@@ -43,7 +43,6 @@
"timeless": "not_legal", "timeless": "not_legal",
"gladiator": "not_legal", "gladiator": "not_legal",
"pioneer": "not_legal", "pioneer": "not_legal",
"explorer": "not_legal",
"modern": "not_legal", "modern": "not_legal",
"legacy": "not_legal", "legacy": "not_legal",
"pauper": "not_legal", "pauper": "not_legal",
@@ -64,6 +63,7 @@
"paper" "paper"
], ],
"reserved": false, "reserved": false,
"game_changer": false,
"foil": true, "foil": true,
"nonfoil": true, "nonfoil": true,
"finishes": [ "finishes": [
@@ -100,23 +100,22 @@
"booster": true, "booster": true,
"story_spotlight": false, "story_spotlight": false,
"prices": { "prices": {
"usd": "0.29", "usd": "0.31",
"usd_foil": "16.25", "usd_foil": "15.64",
"usd_etched": null, "usd_etched": null,
"eur": "0.29", "eur": "0.19",
"eur_foil": "12.69", "eur_foil": "11.09",
"tix": null "tix": null
}, },
"related_uris": { "related_uris": {
"gatherer": "https://gatherer.wizards.com/Pages/Card/Details.aspx?multiverseid=74257&printed=false", "gatherer": "https://gatherer.wizards.com/Pages/Card/Details.aspx?multiverseid=74257&printed=false",
"tcgplayer_infinite_articles": "https://partner.tcgplayer.com/c/4931599/1830156/21018?subId1=api&trafcat=infinite&u=https%3A%2F%2Finfinite.tcgplayer.com%2Fsearch%3FcontentMode%3Darticle%26game%3Dmagic%26q%3DLittle%2BGirl", "tcgplayer_infinite_articles": "https://partner.tcgplayer.com/c/4931599/1830156/21018?subId1=api&trafcat=tcgplayer.com%2Fsearch%2Farticles&u=https%3A%2F%2Fwww.tcgplayer.com%2Fsearch%2Farticles%3FproductLineName%3Dmagic%26q%3DLittle%2BGirl",
"tcgplayer_infinite_decks": "https://partner.tcgplayer.com/c/4931599/1830156/21018?subId1=api&trafcat=infinite&u=https%3A%2F%2Finfinite.tcgplayer.com%2Fsearch%3FcontentMode%3Ddeck%26game%3Dmagic%26q%3DLittle%2BGirl", "tcgplayer_infinite_decks": "https://partner.tcgplayer.com/c/4931599/1830156/21018?subId1=api&trafcat=tcgplayer.com%2Fsearch%2Fdecks&u=https%3A%2F%2Fwww.tcgplayer.com%2Fsearch%2Fdecks%3FproductLineName%3Dmagic%26q%3DLittle%2BGirl",
"edhrec": "https://edhrec.com/route/?cc=Little+Girl" "edhrec": "https://edhrec.com/route/?cc=Little+Girl"
}, },
"purchase_uris": { "purchase_uris": {
"tcgplayer": "https://partner.tcgplayer.com/c/4931599/1830156/21018?subId1=api&u=https%3A%2F%2Fwww.tcgplayer.com%2Fproduct%2F37883%3Fpage%3D1", "tcgplayer": "https://partner.tcgplayer.com/c/4931599/1830156/21018?subId1=api&u=https%3A%2F%2Fwww.tcgplayer.com%2Fproduct%2F37883%3Fpage%3D1",
"cardmarket": "https://www.cardmarket.com/en/Magic/Products/Singles/Unhinged/Little-Girl?referrer=scryfall&utm_campaign=card_prices&utm_medium=text&utm_source=scryfall", "cardmarket": "https://www.cardmarket.com/en/Magic/Products?idProduct=14779&referrer=scryfall&utm_campaign=card_prices&utm_medium=text&utm_source=scryfall",
"cardhoarder": "https://www.cardhoarder.com/cards?affiliate_id=scryfall&data%5Bsearch%5D=Little+Girl&ref=card-profile&utm_campaign=affiliate&utm_medium=card&utm_source=scryfall" "cardhoarder": "https://www.cardhoarder.com/cards?affiliate_id=scryfall&data%5Bsearch%5D=Little+Girl&ref=card-profile&utm_campaign=affiliate&utm_medium=card&utm_source=scryfall"
} }
} }

View File

@@ -1,28 +1,29 @@
{ {
"object": "card", "object": "card",
"id": "7b3f0e26-7784-452d-acc8-9f7181e0f7d5", "id": "248c76d3-b5cb-4582-be17-7cd1d0cb0f58",
"oracle_id": "c1fc5923-c3cd-448a-98d1-c154661c2812", "oracle_id": "c1fc5923-c3cd-448a-98d1-c154661c2812",
"multiverse_ids": [ "multiverse_ids": [
615951 615415
], ],
"mtgo_id": 109062, "mtgo_id": 109166,
"tcgplayer_id": 495791, "arena_id": 85078,
"cardmarket_id": 710527, "tcgplayer_id": 495610,
"cardmarket_id": 710196,
"name": "Nissa, Resurgent Animist", "name": "Nissa, Resurgent Animist",
"lang": "en", "lang": "en",
"released_at": "2023-05-12", "released_at": "2023-05-12",
"uri": "https://api.scryfall.com/cards/7b3f0e26-7784-452d-acc8-9f7181e0f7d5", "uri": "https://api.scryfall.com/cards/248c76d3-b5cb-4582-be17-7cd1d0cb0f58",
"scryfall_uri": "https://scryfall.com/card/mat/162/nissa-resurgent-animist?utm_source=api", "scryfall_uri": "https://scryfall.com/card/mat/22/nissa-resurgent-animist?utm_source=api",
"layout": "normal", "layout": "normal",
"highres_image": true, "highres_image": true,
"image_status": "highres_scan", "image_status": "highres_scan",
"image_uris": { "image_uris": {
"small": "https://cards.scryfall.io/small/front/7/b/7b3f0e26-7784-452d-acc8-9f7181e0f7d5.jpg?1684341884", "small": "https://cards.scryfall.io/small/front/2/4/248c76d3-b5cb-4582-be17-7cd1d0cb0f58.jpg?1684340632",
"normal": "https://cards.scryfall.io/normal/front/7/b/7b3f0e26-7784-452d-acc8-9f7181e0f7d5.jpg?1684341884", "normal": "https://cards.scryfall.io/normal/front/2/4/248c76d3-b5cb-4582-be17-7cd1d0cb0f58.jpg?1684340632",
"large": "https://cards.scryfall.io/large/front/7/b/7b3f0e26-7784-452d-acc8-9f7181e0f7d5.jpg?1684341884", "large": "https://cards.scryfall.io/large/front/2/4/248c76d3-b5cb-4582-be17-7cd1d0cb0f58.jpg?1684340632",
"png": "https://cards.scryfall.io/png/front/7/b/7b3f0e26-7784-452d-acc8-9f7181e0f7d5.png?1684341884", "png": "https://cards.scryfall.io/png/front/2/4/248c76d3-b5cb-4582-be17-7cd1d0cb0f58.png?1684340632",
"art_crop": "https://cards.scryfall.io/art_crop/front/7/b/7b3f0e26-7784-452d-acc8-9f7181e0f7d5.jpg?1684341884", "art_crop": "https://cards.scryfall.io/art_crop/front/2/4/248c76d3-b5cb-4582-be17-7cd1d0cb0f58.jpg?1684340632",
"border_crop": "https://cards.scryfall.io/border_crop/front/7/b/7b3f0e26-7784-452d-acc8-9f7181e0f7d5.jpg?1684341884" "border_crop": "https://cards.scryfall.io/border_crop/front/2/4/248c76d3-b5cb-4582-be17-7cd1d0cb0f58.jpg?1684340632"
}, },
"mana_cost": "{2}{G}", "mana_cost": "{2}{G}",
"cmc": 3, "cmc": 3,
@@ -47,13 +48,12 @@
"W" "W"
], ],
"legalities": { "legalities": {
"standard": "legal", "standard": "not_legal",
"future": "legal", "future": "not_legal",
"historic": "legal", "historic": "legal",
"timeless": "legal", "timeless": "legal",
"gladiator": "legal", "gladiator": "legal",
"pioneer": "legal", "pioneer": "legal",
"explorer": "legal",
"modern": "legal", "modern": "legal",
"legacy": "legal", "legacy": "legal",
"pauper": "not_legal", "pauper": "not_legal",
@@ -61,7 +61,7 @@
"penny": "not_legal", "penny": "not_legal",
"commander": "legal", "commander": "legal",
"oathbreaker": "legal", "oathbreaker": "legal",
"standardbrawl": "legal", "standardbrawl": "not_legal",
"brawl": "legal", "brawl": "legal",
"alchemy": "not_legal", "alchemy": "not_legal",
"paupercommander": "not_legal", "paupercommander": "not_legal",
@@ -76,6 +76,7 @@
"mtgo" "mtgo"
], ],
"reserved": false, "reserved": false,
"game_changer": false,
"foil": true, "foil": true,
"nonfoil": true, "nonfoil": true,
"finishes": [ "finishes": [
@@ -93,9 +94,9 @@
"set_uri": "https://api.scryfall.com/sets/6727e43d-31b6-45b0-ae05-7a811ba72f70", "set_uri": "https://api.scryfall.com/sets/6727e43d-31b6-45b0-ae05-7a811ba72f70",
"set_search_uri": "https://api.scryfall.com/cards/search?order=set&q=e%3Amat&unique=prints", "set_search_uri": "https://api.scryfall.com/cards/search?order=set&q=e%3Amat&unique=prints",
"scryfall_set_uri": "https://scryfall.com/sets/mat?utm_source=api", "scryfall_set_uri": "https://scryfall.com/sets/mat?utm_source=api",
"rulings_uri": "https://api.scryfall.com/cards/7b3f0e26-7784-452d-acc8-9f7181e0f7d5/rulings", "rulings_uri": "https://api.scryfall.com/cards/248c76d3-b5cb-4582-be17-7cd1d0cb0f58/rulings",
"prints_search_uri": "https://api.scryfall.com/cards/search?order=released&q=oracleid%3Ac1fc5923-c3cd-448a-98d1-c154661c2812&unique=prints", "prints_search_uri": "https://api.scryfall.com/cards/search?order=released&q=oracleid%3Ac1fc5923-c3cd-448a-98d1-c154661c2812&unique=prints",
"collector_number": "162", "collector_number": "22",
"digital": false, "digital": false,
"rarity": "mythic", "rarity": "mythic",
"watermark": "desparked", "watermark": "desparked",
@@ -108,35 +109,31 @@
"border_color": "black", "border_color": "black",
"frame": "2015", "frame": "2015",
"frame_effects": [ "frame_effects": [
"legendary", "legendary"
"extendedart"
], ],
"security_stamp": "oval", "security_stamp": "oval",
"full_art": false, "full_art": false,
"textless": false, "textless": false,
"booster": false, "booster": true,
"story_spotlight": false, "story_spotlight": false,
"promo_types": [ "edhrec_rank": 2064,
"boosterfun"
],
"edhrec_rank": 2163,
"prices": { "prices": {
"usd": "24.96", "usd": "16.18",
"usd_foil": "32.13", "usd_foil": "16.73",
"usd_etched": null, "usd_etched": null,
"eur": "27.94", "eur": "22.93",
"eur_foil": "35.15", "eur_foil": "22.72",
"tix": "0.99" "tix": "0.17"
}, },
"related_uris": { "related_uris": {
"gatherer": "https://gatherer.wizards.com/Pages/Card/Details.aspx?multiverseid=615951&printed=false", "gatherer": "https://gatherer.wizards.com/Pages/Card/Details.aspx?multiverseid=615415&printed=false",
"tcgplayer_infinite_articles": "https://partner.tcgplayer.com/c/4931599/1830156/21018?subId1=api&trafcat=infinite&u=https%3A%2F%2Finfinite.tcgplayer.com%2Fsearch%3FcontentMode%3Darticle%26game%3Dmagic%26q%3DNissa%252C%2BResurgent%2BAnimist", "tcgplayer_infinite_articles": "https://partner.tcgplayer.com/c/4931599/1830156/21018?subId1=api&trafcat=tcgplayer.com%2Fsearch%2Farticles&u=https%3A%2F%2Fwww.tcgplayer.com%2Fsearch%2Farticles%3FproductLineName%3Dmagic%26q%3DNissa%252C%2BResurgent%2BAnimist",
"tcgplayer_infinite_decks": "https://partner.tcgplayer.com/c/4931599/1830156/21018?subId1=api&trafcat=infinite&u=https%3A%2F%2Finfinite.tcgplayer.com%2Fsearch%3FcontentMode%3Ddeck%26game%3Dmagic%26q%3DNissa%252C%2BResurgent%2BAnimist", "tcgplayer_infinite_decks": "https://partner.tcgplayer.com/c/4931599/1830156/21018?subId1=api&trafcat=tcgplayer.com%2Fsearch%2Fdecks&u=https%3A%2F%2Fwww.tcgplayer.com%2Fsearch%2Fdecks%3FproductLineName%3Dmagic%26q%3DNissa%252C%2BResurgent%2BAnimist",
"edhrec": "https://edhrec.com/route/?cc=Nissa%2C+Resurgent+Animist" "edhrec": "https://edhrec.com/route/?cc=Nissa%2C+Resurgent+Animist"
}, },
"purchase_uris": { "purchase_uris": {
"tcgplayer": "https://partner.tcgplayer.com/c/4931599/1830156/21018?subId1=api&u=https%3A%2F%2Fwww.tcgplayer.com%2Fproduct%2F495791%3Fpage%3D1", "tcgplayer": "https://partner.tcgplayer.com/c/4931599/1830156/21018?subId1=api&u=https%3A%2F%2Fwww.tcgplayer.com%2Fproduct%2F495610%3Fpage%3D1",
"cardmarket": "https://www.cardmarket.com/en/Magic/Products/Singles/MoM-TA-E/Nissa-Resurgent-Animist-V3?referrer=scryfall&utm_campaign=card_prices&utm_medium=text&utm_source=scryfall", "cardmarket": "https://www.cardmarket.com/en/Magic/Products?idProduct=710196&referrer=scryfall&utm_campaign=card_prices&utm_medium=text&utm_source=scryfall",
"cardhoarder": "https://www.cardhoarder.com/cards/109062?affiliate_id=scryfall&ref=card-profile&utm_campaign=affiliate&utm_medium=card&utm_source=scryfall" "cardhoarder": "https://www.cardhoarder.com/cards/109166?affiliate_id=scryfall&ref=card-profile&utm_campaign=affiliate&utm_medium=card&utm_source=scryfall"
} }
} }