-
Notifications
You must be signed in to change notification settings - Fork 11
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
WIP 0.6: Add trove support #15
base: next
Are you sure you want to change the base?
Conversation
Pull Request Test Coverage Report for Build 45
💛 - Coveralls |
waiting for the stuff to be merged |
Yeah sorry, I haven't had time to work on my projects lately, but I'm on holidays since yesterday, so hopefully, I'll be able to finish this up pretty quickly. I need to come back at it, see what's missing, and perform more testing. It shouldn't take very long, but I have a few changes that I didn't push/commit, and I need to make sure everything works... Thanks for reminding me of your interest 😉 If you want, though (if you are in a hurry), I could make a quick-and-dirty branch that should work. |
Take your time, i can wait, i saw you working on proton steam stuff, nice! |
@felisucoibi it should now work with the latest commits, but it's still a bit rough (total size is incorrect, as well as the one first displayed, it will take a long time before downloading, resume might or might not work, and It will likely stop working after downloading for 24h). No checksums either as they are not provided. I improved the command-line a bit, but I am planning to make further modifications. So far, the command-line to download only trove items would be I will likely improve the above a bit before merging, and might edit some commits, but it really should be usable. (To download a tarball of this branch, you can use https://github.com/MayeulC/hb-downloader/archive/poc-trove.tar.gz ) |
@MayeulC Humble have redesigned Trove page. Now it's impossible to extract full game info from HTML as it's now shown in dynamic popups created by JS. But now they have all the info in an embedded JSON ( Example: "soma_trove": {
"background-image": null,
"publishers": [
{
"publisher-name": "Frictional Games",
"publisher-url": "https://www.frictionalgames.com"
}
],
"machine_name": "soma_trove",
"trove-featured": false,
"humble-original": null,
"downloads": {
"windows": {
"uploaded_at": "2018-04-09T18:04:10.784900",
"name": "Download",
"url": {
"web": "SOMA_Windows_v110.zip",
"bittorrent": "SOMA_Windows_v110.zip.torrent"
},
"machine_name": "soma_windows",
"file_size": 12456084815,
"small": 0,
"md5": "e7234667537747427cbfa6e3f864bafc",
"size": "11.6 GB"
},
"mac": {
"uploaded_at": "2018-10-03T18:34:28.978398",
"name": "Download",
"url": {
"web": "SOMA_Mac_v110_ModLauncher_Fix.zip",
"bittorrent": "SOMA_Mac_v110_ModLauncher_Fix.zip.torrent"
},
"machine_name": "soma_mac",
"file_size": 12268279926,
"small": 0,
"size": "11.4 GB",
"md5": "b5796f487f5f647045bb5fb6eaf16edf"
},
"linux": {
"uploaded_at": "2018-04-05T22:59:41.578640",
"name": "Download",
"url": {
"web": "SOMA_Linux_v110.zip",
"bittorrent": "SOMA_Linux_v110.zip.torrent"
},
"machine_name": "soma_linux",
"file_size": 12267657895,
"small": 0,
"md5": "46e9dadf90d347e0f384e636e71ce746",
"size": "11.4 GB"
}
},
"trove-showcase-css": null,
"all-access": false,
"carousel-content": {
"youtube-link": ["S1CU2tXnGVc"],
"thumbnail": [...],
"screenshot": [...]
},
"human-name": "SOMA",
"logo": null,
"description-text": "<p><em>SOMA</em> is a sci-fi horror game...",
"developers": [
{
"developer-name": "Frictional Games",
"developer-url": "https://www.frictionalgames.com"
}
],
"image": "https://hb.imgix.net/b47b15b146fd466c2c08c09ce1fd351e8e22b589.jpg?auto=compress,format&fit=crop&h=353&w=616&s=d5599a2e88aa05dfc0c09fd2adc40d7e",
"background-color": null,
"marketing-blurb": "<p><em>SOMA</em> is a sci-fi horror game..."
} See tkashkin/GameHub@9d040db#diff-6973b921678612944b5591a83b23c195 for implementation example. |
@tkashkin Thanks a lot for the heads-up! The addition of md5 fields is nice, I was previously quite annoyed at the lack of this :) I hope I'll be able to finish this up later, but free time is hard to come by, these days... |
thanks for your work, waiting for the final version. Still working and using May version. |
Add more tests for the API and the configuration parser. The tests are still quite basic, but begin to exercise more code.
This prepares the introduction of a setup.py file and makes things neater.
Many thanks to Stefan Zink (@zink-chimaera) in #11
This commit will be squashed when merging with master
The Humble Trove support is now properly wired in, and behaves just like the other gamekeys. Tested for listing products and URLs, not for downloading yet.
Both are now aware of the lxml dependency
It stills needs to be in the loop as the item_type subparser is created there.
Unfortunately, the option does not play well with the next positionnal arguments for now.
This needs more testing, I open this PR to have a bit more visibility on its status.
Closes #2
Please do not use this branch directly to write some code, or be prepared to rebase your changes, as I might force-push, and cherry-pick commits from time to time :)