Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cooperation with hb-downloader #47

Open
MayeulC opened this issue Apr 18, 2018 · 2 comments
Open

Cooperation with hb-downloader #47

MayeulC opened this issue Apr 18, 2018 · 2 comments

Comments

@MayeulC
Copy link

MayeulC commented Apr 18, 2018

So a while ago I forked this project, which is a mass downloader for humble bundle: https://github.com/MayeulC/hb-downloader

I discovered this repository today, and as I really dislike diluting manpower, I've been thinking about ways to merge both projects. Even if the code is not shareable as-is, we can probably contribute to both.

Here is a very quick dump of my current feeling towards both projects:

https://github.com/MestreLion/humblebundle

What I like about it:

What I dislike about it:

  • the name humblebundle is confusing as it is not unique enough
  • no batch downloader
  • The installers should, in my opinion, be part of a separate project such as Lutris

https://github.com/MayeulC/hb-downloader

What I like about it:

  • Ability to batch-download content
  • Humblebundle API clearly separated, as the repository integrates a fork of https://github.com/saik0/humblebundle-python (though ideally they should live in two different repos)
  • It should support the authy token (maybe, I've not been able to confirm it still works)
  • Supports a clear-cut .yaml config file
  • Supports checksums/resume downloads
  • Not a lot of external dependencies

What I dislike about it:

  • The structure and config files are a bit messy
  • Currently no easy way to download one game/purchase at a time (I was about to start working on it)

Features I would like to see in the future and towards which progress can be shared:

  • Humble Trove support
  • Use torrent files to download and/or check integrity
  • Automatically extract login information from Firefox/Chromium (I have started progress on this)
  • Steam key export/management, with ways to check if keys were redeemed
  • ...
  • Lutris integration!
@MestreLion
Copy link
Owner

I'm all for cooperation, specially since I have so little time to keep this humble project going (no pun intended)

What do you think should be the main changes in my repository? Maybe start by separating the API from the CLI interface? An unified API would be awesome for both projects!

That said, maybe it's time to change the container from native dictionaries (exposed straight from Humble Bundle website's JSONs) to full-fledged classes. Games should be objects, with their own .download(), .install() methods. HumbleBundle main class methods such as .get_game() and its .bundles list would yield Game instances. Bundles could also be a list-like iterable class with properties.

@chilinux
Copy link
Contributor

chilinux commented Mar 6, 2019

Because of my frustrations with Issues #46 and #50, I ended up trying my hand at rewriting the script from scratch. My main goal was trying to build it support several of the same command line arguments. At the same time, I did some things differently including using the HB API end-point that wasn't available when the project here was originally written. While the resulting script seems to work, the code is somewhat of a mess. If anyone thinks it would be helpful to them to look at what I have done, let me know.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants