gog-galaxy-itch.io icon indicating copy to clipboard operation
gog-galaxy-itch.io copied to clipboard

Consider using butler instead of opening the sqlite3 DB?

Open fasterthanlime opened this issue 4 years ago • 5 comments

My first worry is that opening the sqlite3 DB from python could corrupt it.

My second worry is that, doing stuff like querying the verdict is not really the recommended way to launch games. I'm releasing a butler upgrade soon that will no longer use that (old verdicts will be cleared out).

The interface at http://docs.itch.ovh/butlerd/master/#/ should be stable, it's already used by Playnite, there's a work-in-progress GameHub integration, etc.

I'm happy to help you get started!

fasterthanlime avatar Oct 15 '19 17:10 fasterthanlime

I'd like to change the integration to using butlerd, however I didn't see an API for getting all installed (or all owned) games, but I might have just missed that?

Also thanks for reaching out and creating the issue :)

Ertego avatar Oct 15 '19 19:10 Ertego

  • Owned games: http://docs.itch.ovh/butlerd/master/#/?id=fetchprofileownedkeys
  • Installed games: http://docs.itch.ovh/butlerd/master/#/?id=fetchcaves

Hope this helps! There's a few concepts, but I'm happy to assist.

fasterthanlime avatar Oct 19 '19 09:10 fasterthanlime

Is anyone working on this? I started some initial work on python butlerd RPC library, and can continue with integrating it into this plugin: https://gist.github.com/Informatic/66afa809b3b3f1035031c83e529ada9e

Informatic avatar Nov 22 '20 09:11 Informatic

Turns out integating butlerd into gog galaxy plugin was much faster than I anticipated and managed to get a working POC with owned/installed games listing and game install/uninstall/launch handling working in less than 3 hours.

Putting it out here for reference: https://github.com/Informatic/gog-galaxy-itch.io/tree/butlerd-integration

To properly handle game installation galaxy api package needed to be updated (as the old one was missing supported operating systems reporting), all pinned requirements are dumped in requirements.txt, I'll try to figure out some CI setup to build and release new .zip files with dependencies soon.

Just to make sure - as I don't see any LICENSE note - what is the license for this repo then? If you're not decided yet, I'd suggest just plain old MIT.

Informatic avatar Nov 22 '20 14:11 Informatic

No, I am not aware of anyone working on integrating butler. As for the license: Seems like I forgot to add one, but yes MIT would be my choice as well.

Ertego avatar Nov 22 '20 16:11 Ertego