StepKie / MtgCsvHelper

csv format conversion tool for MtG collections

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Any chance of adding support for the urzagatherer format?

yungNeiko opened this issue · comments

Is your feature request related to a problem? Please describe.
I want to import my collection from urzagatherer (the web application) into Manabox, but the .csv format from urzagatherer is a bit weird for Manabox. For example, I have 4 Battle-Scarred Goblin and urzagatherer tracks them in there .csv export as follows:

(one Column); (anotherColumn)
Count; Foil Count
4; 1

This means I have 4 cards in total, one is foil and the rest are normal. I think this is maybe the biggest problem in the converting process.

I added a .csv export from urzagatherer with only 9 cards for reference.
MTG.csv

Describe the solution you'd like
Add support for converting urzagatherer .csv to Manabox format.

Describe alternatives you've considered
I searched but didnt find any converter, so if this feature request is turned down I will have to do it by hand.

Any chance of adding support for the urzagatherer format?

I can take a look as soon as I find the time.
Thanks for the sample csv, very useful. However, I can not tell from the sample some things I would need to know how do they encode Double-Faced Cards, Set names, Tokens etc. to be sure the conversion works for all collections.

Do the UrzaGatherer folks have an official documentation of their csv format?

Any chance of adding support for the urzagatherer format?

I can take a look as soon as I find the time. Thanks for the sample csv, very useful. However, I can not tell from the sample some things I would need to know how do they encode Double-Faced Cards, Set names, Tokens etc. to be sure the conversion works for all collections.

Do the UrzaGatherer folks have an official documentation of their csv format?

I haven't found any real documentation, but I found this question on the forum of the guy who made UrzaGatherer, and he said "in a nutshell, the system prefers the MultiverseID approach". Maybe this will help.

https://www.deltakosh.com/urzagatherer/questions-2/csv-format-for-importing-merging

And here are a couple of tokens and two double-faced cards, I hope that helps as well.

double-faced.csv
tokens.csv

My collection isn't the largest either, so if it's too time-consuming or takes too long, it's fine if there's no way and I do it by hand. :)

Thanks for the link, I will check it out. Give it a couple of days.

Currently the additional csv links (double faced, tokens) are broken for me.

I don't know why, but all my csv attachments are broken, even from different pcs or smartphones.

So I made this Google spreadsheet:

https://docs.google.com/spreadsheets/d/1UdzNaZx7X5Y6MYCLtVgBBiOV2rHpqUwZjIlV67GKIks/edit?usp=sharing

@yungNeiko Quick update:

I worked on this a little bit, and came across various challenges:

Apart from just the foil count issue that you already pointed out, UrzaGatherer has a very peculiar format and csv design decision in general. In my opinion, with its current format, they can not really faithfully encode a physical collection of cards. As an example, I take one line, where I put a single card:

"Seasoned Cathar","Creature - Human Knight",White,Uncommon,"Bryan Sola",3,3,,2,10,3,0,$0.00,$0.00,2,"Innistrad: Midnight Hunt",MID,68438,534752,,0,0,"1xMint, 1xMint, 1xExcellent, 1xGood, 1xGood, 1xLight played, 1xPlayed, 1xPoor","1xVG 3, 1xGOOD 2, 1xVG 3, 1xVG-EX 4, 1xundefined, 1xundefined, 1xMINT 9","1xEnglish, 1xGerman",248154,574956,54d4e7c3-294d-4900-8b70-faafda17cc33

  • it has 7 normals, 3 foils -> ok
  • they have a field for condition, there is no way to map it to individual cards. Sometimes it jumps the undefined cards. There is no way to know which are the combinations that make up the individual card (is the foil English or German?, which is Mint? etc.

So, unfortunately, I decided against supporting this format since

a) I can not faithfully do a 1:1 two-way mapping with a csv in a different format.
b) it makes the implementation very awkward, since a single row in the csv does no longer represent a single card with identical characteristics (apart from having Count/Amount in other formats, if they are exactly the same in everything.) I mocked it up, but it made the code very awkward since it does not fit the current class design.

Sorry about the bad news.
Best regards

@yungNeiko Quick update:

I worked on this a little bit, and came across various challenges:

Apart from just the foil count issue that you already pointed out, UrzaGatherer has a very peculiar format and csv design decision in general. In my opinion, with its current format, they can not really faithfully encode a physical collection of cards. As an example, I take one line, where I put a single card:

"Seasoned Cathar","Creature - Human Knight",White,Uncommon,"Bryan Sola",3,3,,2,10,3,0,$0.00,$0.00,2,"Innistrad: Midnight Hunt",MID,68438,534752,,0,0,"1xMint, 1xMint, 1xExcellent, 1xGood, 1xGood, 1xLight played, 1xPlayed, 1xPoor","1xVG 3, 1xGOOD 2, 1xVG 3, 1xVG-EX 4, 1xundefined, 1xundefined, 1xMINT 9","1xEnglish, 1xGerman",248154,574956,54d4e7c3-294d-4900-8b70-faafda17cc33

  • it has 7 normals, 3 foils -> ok
  • they have a field for condition, there is no way to map it to individual cards. Sometimes it jumps the undefined cards. There is no way to know which are the combinations that make up the individual card (is the foil English or German?, which is Mint? etc.

So, unfortunately, I decided against supporting this format since

a) I can not faithfully do a 1:1 two-way mapping with a csv in a different format. b) it makes the implementation very awkward, since a single row in the csv does no longer represent a single card with identical characteristics (apart from having Count/Amount in other formats, if they are exactly the same in everything.) I mocked it up, but it made the code very awkward since it does not fit the current class design.

Sorry about the bad news. Best regards

Hey, thank you for the detailed update and no problem :)