itad_importer icon indicating copy to clipboard operation
itad_importer copied to clipboard

Support exporting Steam keys as a proper selectable option

Open Nomad7 opened this issue 7 years ago • 8 comments

FORMERLY: Exporting Humble keys does not update Redeemed status

In fact, it looks like clicking 'Export to ITAD' from my https://www.humblebundle.com/home/keys page doesn't actually export anything at all.

Preconditions:

  1. Have previously exported Humble Keys list to ITAD.
  2. Subsequently acquire new Humble Keys and/or change Redeemed status for some keys.
  3. Launch Chrome and ensure Tampermoney and ITAD Importer are installed and up to date.

Steps to reproduce:

  1. Navigate to https://www.humblebundle.com/home/keys
  2. Select the 'Export to ITAD' link (which will redirect to https://isthereanydeal.com/outside/user/collection/3rdparty)
  3. Without making any changes (leave the checkboxes enabled for 'consider these copies' and 'don't create duplicates'), select 'Add to my collection'

Expected result: Any games acquired since the previous export should be added, and any changed to redeemed status updated.

Actual results:

  1. A message displays indicating "You didn't select any game"
  2. The 'redeemed' status of existing games in the collection is not updated

Notes: At step 3, during previous imports a list of games was shown after clicking 'Export to ITAD' - but now there's no games listed, which explains the "You didn't select any game" error, but not why the games aren't being exported. Since nobody else seems to have reported this, it's entirely possible that there's some element of user error. I'm reluctant to try purging all of my Humble Store items from my ITAD collection and trying again from a clean slate, but if that's the only recourse I can certainly give it a try.

My goal is to get a list of all my duplicate copies from humble bundle in a publicly accessibly form (ITAD collection page). If there's a workaround available, or if there's any additional information or details I can provide, please let me know.

Nomad7 avatar Jun 09 '17 18:06 Nomad7

I appreciate how thorough you were, but this script isn't supposed to do anything with keys. I designed it based on the idea of having games show up once for each place where you can actually download a copy.

Having the "Export to ITAD" button appear in the keys view is an intermittent bug I haven't been able to reproduce reliably enough to diagnose and squash it. (I've only ever seen it happen once)

In fact, the only reason it's even possible to get Steam-only games to show up is that, when Humble redesigned the main library listing, they broke my ability to look inside each entry to verify the presence of download links and I haven't found a solution yet. (If you click "Export to ITAD" on a bundle/purchase page, it'll only extract the ones with local download links.)

Also, I specifically called this an "export" script rather than a "sync" script because it can only add games to your ITAD collection, not remove them. (Even if I wanted to take responsibility for the added complexity of getting that right, the API ITAD exposes doesn't give me the power to remove entries.)

ssokolow avatar Jun 09 '17 18:06 ssokolow

Thanks for the quick response!

So I'm fully sympathetic with the lack of 'sync' functionality - but currently it seems I can't even do a basic export (dumping my entire Humble library to ITAD).

Interesting note about the Export button on the Keys page being a bug; that's the only place I've ever seen the button. In fact I've just installed Greasemonkey on Firefox (to try to reproduce the issue there) and I can't find the 'Export to ITAD' button anywhere (even on items in my Library with DRM-free download links). Just my $0.02, but I'd vote for the re-categorizing the 'bug' that allows exporting Steam-only games as a 'feature' - or at least an optional setting. It's the main reason I found your tool in the first place :)

If the scenario I'm facing isn't actually a bug that's totally fine - I wouldn't be surprised if this is a situation I got myself into somehow - but any assistance with a workaround would be much appreciated. At this point I just want to export my current Humble library to my ITAD collection page, after that I can do all the upkeep manually. Any tips or guidance would be welcome!

Nomad7 avatar Jun 09 '17 18:06 Nomad7

In that case, I can definitely take a look at it.

Here's what it currently looks like in my Firefox:

Bundle Page

Library Page

Regarding keys, I don't even have time to properly maintain this at the moment (hence the lack of automatic pagination support on GOG), but I can definitely reopen this issue and mark it as a TODO for if my free time improves.

ssokolow avatar Jun 09 '17 19:06 ssokolow

I may have broken the export in one of the last updates. Before you do anything @ssokolow, I'll have to check it out. I am also thinking about improving the whole experience (e.g. removing the intermediate step with the selection of games) and make import via API. Or even make sync, that was mentioend here, possible.

tfedor avatar Jun 09 '17 19:06 tfedor

@tfedor Good to know you're on it, but please make sure you leave confirmation dialogs and "export mode" as an option.

  1. Sometimes (especially with Groupees), I need that confirmation dialogue to correct ITAD's impression of which entries should be imported. (And I use it to add a note like "Groupees.com" to disambiguate "Other".)

  2. In the past, I've encountered situations where the first indication I had that a scraper was broken was that the import dialog wasn't showing the proper set of games.

  3. I'm not sure I want to take responsibility for ensuring that every list of games my script generates is 100% complete and correct, which is what Sync would require to avoid accidentally adding or removing entries.

ssokolow avatar Jun 09 '17 19:06 ssokolow

Fair enough

tfedor avatar Jun 09 '17 19:06 tfedor

A few updates from my end;

RE: No games showing up on the export list (apparently the root of my issues) This seems to be unique to my Chrome/Tampermonkey setup. The export certainly worked in the past, so I'm not sure at what point it broke (and haven't tried the good old uninstall+reinstall method), but it works in Firefox and not Chrome, so hopefully that will help anyone else who may encounter similar issues in the future.

RE: No Export to ITAD button in Firefox After installing Greasemonkey and the script via the Raw itad_importer.user.js from github and restarting Firefox, I had no Export button: image I then removed the script and installed from the GreasyFork page, and got the same result even after a couple more Firefox restarts. Finally I tried refreshing my logins to Humble, Steam, and ITAD (which I may not have logged in to before) and then had the Greasemonkey dropdown open while the page loaded so I could see the script become active, and now I have an Export button (and can't get it to disappear again).

So I don't know what caused either of these issues, but it seems to be resolved now and I'm able to export my Humble library to ITAD, which is all I really needed.

One final note RE:Sync functionality; a few years back I actually did QA for a cloud-based file backup & storage application for Windows which attempted to support some sync-like features (ala DropBox), and based on that experience I'd also be hesitant to try to implement a fully fleshed out 'Sync' feature. That said, some capacity to update existing (previously exported) ITAD records to reflect things like Redeemed status (which I just realized might be a custom tag I added for my ITAD Collection) would be totally awesome! I can't code worth anything and can barely read javascript enough to debug, but if there's anything else I can do to support this effort please let me know.

Thanks again for creating an awesome tool!

Nomad7 avatar Jun 09 '17 19:06 Nomad7

That said, some capacity to update existing (previously exported) ITAD records to reflect things like Redeemed status (which I just realized might be a custom tag I added for my ITAD Collection) would be totally awesome!

"Redeemed" definitely isn't a custom thing you added, but, as I remember, the ability to track its status on a per-copy basis either came in at the same time I wrote this script or it's younger.

screenshot1

Either way, adding such a feature will have to wait until @tfedor extends the API since, unless he added it without telling me, it's not something the API can control yet.

Thanks again for creating an awesome tool!

Don't forget to thank @tfedor. The API didn't exist until I asked for it, so he deserves at least half the credit for being so responsive to my proposal.

ssokolow avatar Jun 09 '17 20:06 ssokolow