Repository: DestinyItemManager/DIM

Issue #3513: spreadsheet export: "perks" muddied by masterwork, shaders
Created: 2019-01-03T04:46:27Z
I was thinking I'd come up with some complicated personal script tools to comb through my armor list, and I see that perks are now in the beta export!  But -- I'm hoping its still a work in progress, because it seems inconsistent.
Three sample gauntlets:
Name,Hash,Id,Tag,Tier,Type,Equippable,Power,Masterwork Type, Masterwork Tier,Owner,Locked,Equipped,Year,Season,Event,DTR Rating,# of Reviews,Mobility,Recovery,Resilience,Notes,Perks
"Reverie Dawn Gauntlets","2503434573",6917529085349656273,favorite,Legendary,Gauntlets,titan,625,Solar Damage Resistance,5,Titan(648),true,false,2,4,,N/A,N/A,1,0,2,,Mobile Titan Armor*,Plasteel Reinforcement Mod*,Restorative Mod,Riven's Curse*,Masterwork*,Burnished Dreams*,Enhanced Impact Induction,Enhanced Grenade Launcher Loader,Enhanced Hand Cannon Loader*,Rocket Launcher Scavenger*,Sniper Rifle Scavenger
(11 perks columns)
"Iron Fellowship Gauntlets","3856697336",6917529086394623061,,Legendary,Gauntlets,titan,500,Solar Damage Resistance,1,Titan(648),false,false,2,5,,N/A,N/A,1,0,2,,Mobile Titan Armor*,Plasteel Reinforcement Mod*,Restorative Mod,Tier 1 Armor*,Iron Strength*,Hand Cannon Loader*,Impact Induction,Sniper Rifle Scavenger*,Machine Gun Scavenger
(9 perks columns)
"Tangled Web Gauntlets","42219189",6917529085682088446,,Legendary,Gauntlets,titan,634,Arc Damage Resistance,1,Titan(648),false,false,2,4,,N/A,N/A,0,1,2,,Restorative Titan Armor*,Plasteel Reinforcement Mod*,Restorative Mod,Tier 1 Armor*,Shotgun Loader*,Fastball,Shotgun Scavenger*,Sword Scavenger
(8 perks columns)
I think this is what could be there and the order:
Armor type ("Mobile Titan Armor")
Col 1 Mod 1 ("Plasteel Reinforcement Mod")
Col 1 Mod 2 ("Restorative Mod")
Mod slot - optional ("Riven's Curse")
Masterwork level - optional ("Masterwork" or "Tier 1 Armor")
Shader - optional ("Burnished Dreams")
Column 1 and Column 2 perks in order, but no column specified ("Enhanced Impact Induction", etc)
Having multiple optional columns like shader, and no indication of which columns are perks, means short of a lot of hardcoded lists etc being added, no script can use the perks values in the sheet...
Any chance we could have separate columns for optional mod, masterwork level, and shader?  (Best would also be maybe 4 columns for possible column 1 perks, 4 for possible column 2, and just leave blank when one isn't found.)
I recognize that its very difficult to translate data with a changeable standard (how many columns are there in an item?  how many rows per perk column?  how many perk columns?) into another exportable format...
I unfortunately don't have a ton of time to work on the code involved, but if someone would be willing to handhold me a bit to get to the code involved, I could probably poke around and help...

Duplicate issue #3705: Suggestion: Better CSV Exports
Created: 2019-04-02T21:32:28Z
The CSV exporter dumps all of an items perk-like attributes into a single unordered perk list. The perks listed in the CSV report include the type of armor, the stat modifier perks, shader, ornament, and even the mod alongside the perks themselves. Furthermore, it doesn't differentiate between items that can roll enhanced perks and thus have three choices for column one perks and those that don't. As a result, the perk fields are disorganized and you can't filter on column two armor perks, like scavenger and resources, without editing the CSV.
My suggestion is to update the CSV exporter to break out all of these items out into their own planned columns.
Instead of this:
Perks 0,Perks 1,Perks 2,Perks 3,Perks 4,Perks 5,Perks 6,Perks 7,Perks 8,Perks 9,Perks 10,Perks 11,Perks 12
It should look like this:
Armor Type,Masterwork Rating,Shader,Ornament,Mod,Stat Mod 1, Stat Mod 2,Perk 1A,Perk 1B, Perk 1C,Perk 2A,Perk2B
I haven't reviewed the code for the CSV exporter myself, but I'm guessing that the current state is due to the API dumping out this data in an unorganized way. Since DIM already interprets the API data and can differentiate between perks and shaders and mods and what not, this seems like a reasonable change request.

Closing comment (2019-04-02T21:55:45Z): Dupe #3513