Rough draft of incorporating how long to beat times#35
Rough draft of incorporating how long to beat times#35shaapaoja wants to merge 2 commits intoAB1908:masterfrom
Conversation
Used the howlongtobeatpy to incorporate the how long to beat times. This does add a substantial amount of time to the script, so it probably should not be done by default.
|
Created a draft pull request because I imagine there is a good chance that this is not how you would want this accomplished. Regardless I thought I would at least share what I put together because for a project I was working on I needed an idea on game completion times. |
|
There's nothing wrong with the code, although I'm wondering if we should merge this:
For smaller libraries it's a no brainer, but for huge libraries this can cause a lot of issues. If we want this feature, I would suggest doing a 2 pass for it, keep the export as is, and then use a second script to embed download times into the CSV, with caching to speed it up. I'll let @AB1908 be the judge of that. |
Improvements made in this commit: 1. Moved HTTP logic to a single session to avoid session creation times 2. Made async calls for all the HTTP calls 3. Added a progress bar using tqdm to give user some visibility into progress being made Time for my library of ~600 titles went from ~15 minutes to ~1 minute
|
Added significant performance improvements with the latest changes. I would suggest you try again as you have a larger library than I do. |
|
Also forgot to mention I converted everything to be only in hours as I personally wanted to be able to easily sort by these times in Google Sheets. |
|
Wow, I've been busy and this was indeed on my todo list. This code is now far beyond what I can comprehend so I might have to do quite a bit of reading before I can fully understand and review the thing. Thanks for all the work though! I think @Varstahl raised quite a few good points and I do prefer the output in hours as well. I believe converting hours to days, months, etc is quite doable on a user's end. Initially, I had thought of doing a "percent match" when using HLTB and I'd set a threshold for a value to be accepted. Does the library have anything like that? If not, I suppose we'll have to come up other ideas lest we allow false positives to creep in. What are your thoughts? |
|
I think it may have broken, for me the output file has "UNAVAILABLE" as every entry in the HLTB columns. |
|
I've been unable to test this as I've been busy with some other projects. Perhaps the HLTB wrapper has changed significantly since last this was used. |
|
Just FYI I've started using Playnite which has HLTB and export plugins, so please don't look at this for my sake. I would suggest anyone using Gog Galaxy to give Playnite a try. |
|
I've done exactly the same. Playnite seems to be much better suited to my needs and offers native export options haha. |
Used the howlongtobeatpy to incorporate the how long to beat times. This does add a substantial amount of time to the script, so it probably should not be done by default.