It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
avatar
Geralt_of_Rivia: gogrepo takes almost 6 hours for less than 1000 games according to Timboli.
Did I claim that much, don't recall ... might be? It's certainly 4 hours plus on my slow web only PC and not a superfast connection ... using gogrepo.py of course. NOTE - That was probably for just under 1,000 games.

Doing the manifest create with gogcli.exe is significantly faster, at least 4 times faster, but then no changelog info is being returned. Not that my GUI does a full manifest create yet ... but I did do a badly formatted search on one game, and got manifest entries for 199 games returned ... which didn't take very long at all, relatively speaking.
Post edited March 05, 2021 by Timboli
GOGcli GUI now has some more features and supports downloading from the 'Game Files Selector' window.

gogcli_selector_3.png

I haven't yet finished the code for downloading without the 'Selector'.
I also only verify file size at this point ... checksum code not yet implemented.
Returns are color coded rows (see screenshot).
LIME = successful game file download.
AQUA = successful game extra download (or game file without a checksum value).
RED = a failed download or failed size check.
PALE GREEN = file exists but no size listed to check with.
FUCHSIA = a failed (skipped) download due to not enough free drive space at destination.

DOWNLOAD button can also work as a VALIDATE button, enabled by a right-click button menu option. Validation code not yet implemented.

gogcli_main_4.png

IMPORTANT
Please note, that gogcli.exe downloads files to its own folder (directory), which is also where my GUI needs to be.
It is recommended for now at least, that you leave or set the destination location on my GUI to a sub-folder called GAMES, or at least choose another folder on the same drive. If you choose another drive, there could be significant delays while each download is relocated, especially with large files.

Game files and extras are downloaded one by one, and only one game at a time, so currently no queuing beyond that.

The emphasis for me right now, is testing and keeping things simple for the user. I know some will really appreciate that. :)

WARNING
If you have used an earlier version of my GUI, it might be best to start over with the manifest. That means deleting any current 'manifest.json' and 'Manifest.txt' files.

Newly Added Features
I have added a FIND button, which will search for the specified text on the Games List, that you provide in the title input. It also acts as a next button until you clear the remembered search text (by holding down CTRL while clicking the button).
I've also added a LAST button, which cycles through and selects the latest additions to the game list. To start over, hold down CTRL while clicking the button. The list of newly added games is empty until you perform a CHECK after acquiring new games to your GOG library.

The SETUP window now also includes a 'Validate' checkbox for downloading, but code isn't yet implemented beyond the visual.

gogcli_setup_3.png

The code on the 'Game Files Selector' window has been updated to support 'Mac' files and all options should now be working. At the moment, there is only specific support for regular game file installer types - Windows (EXE, BIN), Linux (SH), Mac (DMG, PKG). Please let me know here if there are others. Anything else at this point is determined as an extra.

gogcli_selector_2.png

EDIT - I've also not yet implemented any logging. I also need to see if I can implement a download progress bar. All that and more to come. Once everything else is completed, I will wrap my head around some method of full queuing ... with an emphasis on simple.

----------------------------------------------------------------------------

https://github.com/Twombs/GOGcli-GUI

To try out my GUI, just grab the following files from the above link, and follow instructions in program.
Black.jpg (optional, as my GUI will create it if missing)
GCG.ico (optional)
GOGcli GUI.exe
Splash.jpg

You will also need gogcli.exe from Magnitus, and will need to create a 'Cookie.txt' file with required entry(s).

https://github.com/Magnitus-/gogcli

Enjoy!
Post edited March 07, 2021 by Timboli
avatar
Magnitus: Ok, its 26 minutes of my life I ain't getting back, but here you go.
avatar
mrkgnao: Are you getting information about files from the GOG API or by obtaining the details of the actual files in your library?

The former is much faster, but it will not detect small changes in file sizes, since the size reported by the API is rounded.

MaGog used to do both. The former took about 30-40 minutes for the entire GOG catalogue, the latter took hours.

gogrepoc does the latter, which guarantees that it does not miss file changes, even if the file name does not change and the size changes by as little as one byte.
Has this always been the case with the API? I thought it was accurate.
Maybe I was unlucky and the files I checked it against when I started to use the API were just the right size to make me believe it was accurate.
I mean this shouldn't be a surprise considering it's an API GOG created but still why would you do that.
And here I thought that GOG learned something after their old API was a mess that reported wrong values and used inconsistent data types (integers were randomly strings and booleans were randomly integers or strings with occasional null value thrown into the mix)


avatar
Geralt_of_Rivia: gogrepo takes almost 6 hours for less than 1000 games according to Timboli.
avatar
Timboli: Did I claim that much, don't recall ... might be? It's certainly 4 hours plus on my slow web only PC and not a superfast connection ... using gogrepo.py of course. NOTE - That was probably for just under 1,000 games.
This is mainly caused by the wait time between requests
https://github.com/Kalanyr/gogrepoc/blob/master/gogrepo.py#L134-L138
thank u guys for sharing
avatar
mrkgnao: Are you getting information about files from the GOG API or by obtaining the details of the actual files in your library?

The former is much faster, but it will not detect small changes in file sizes, since the size reported by the API is rounded.

MaGog used to do both. The former took about 30-40 minutes for the entire GOG catalogue, the latter took hours.

gogrepoc does the latter, which guarantees that it does not miss file changes, even if the file name does not change and the size changes by as little as one byte.
avatar
Sude: Has this always been the case with the API? I thought it was accurate.
It's been like that for years, although I haven't checked in recent months, what with MaGog gone.
Note: Referring to API v1; never used v2.
Post edited March 05, 2021 by mrkgnao
Had to do some tweaks.

Somehow I had overlooked doing the final half of the Alpha folder code. It now actually works. LOL

Ran into an issue of not enough free drive space at destination while testing, so added a check and report for that.

FUCHSIA = a failed download due to not enough free drive space at destination.

Some other minor visual stuff.

------------------------------------------------------

I am pondering adding a simple queue ability, via some right-click options on the Games List. That would build up a list of downloads which is passed to the Game Files Selector window. The DOWNLOAD button would be renamed to DOWNLOAD LIST to show that state is active. That would possibly include an ADD ALL option to download all your games.

I will be adding an option for automatic download of game cover images, and unlike with GOGRepo GUI, the code will check for ones already in existence in the destination folder, and skip if so.

-----------------------------------------------------

See the previous page for download links etc.

https://www.gog.com/forum/general/gogcli_gog_client/post77
Post edited March 05, 2021 by Timboli
avatar
Sude: This is mainly caused by the wait time between requests
https://github.com/Kalanyr/gogrepoc/blob/master/gogrepo.py#L134-L138
That would make sense, my default wait time between each request is 200ms which is 20% of that time.

Seems to correlate well with the observed time difference.

avatar
Timboli: See the previous page for download links etc.

https://www.gog.com/forum/general/gogcli_gog_client/post77
I will add your link in the top post. I think that will make things simpler for you.
Post edited March 05, 2021 by Magnitus
avatar
Magnitus: I will add your link in the top post. I think that will make things simpler for you.
Thanks.

--------------------------------------------------------------------------

Latest Feature Additions

Logging has now been implemented for most aspects.
Holding down CTRL while clicking the LOG button will alternatively show the Updated.txt file, which is an independent record with dates of your games that GOG indicate as updated. This is added to on every Game List retrieval.

Downloading now has a 'Cancel' checkbox. This stops (with a query) any further downloading after the current download. To cancel the current download, just closing the console window should do the trick.

gogcli_selector_4.png

FYI - The download window can be widened by selecting an edge and dragging to the size you want. Forgot to mention that before ... just like GOGRepo GUI has the same option for that similar window.

The SETUP window now has an option to download the game cover image file automatically with your downloads.

gogcli_setup_4.png

Enjoy!
Post edited March 07, 2021 by Timboli
BUGFIX.

It has come to my attention during testing, that I had overlooked reinstating some code that prevented multiple selections on the Games List, and the program doesn't support that, so you would likely have issues if you tried. This occurred while I was working out how to get the ID column to hide, which was a bit tricky. Anyway, all fixed now in the latest upload. Quite funny it has taken me this long to notice the issue ... but then I don't usually hold down CTRL when clicking List entries ... so a happy accident.

-------------------------------------------------------------------

I have started work on support for multiple game queuing with a download list, so some of you may notice two right-click menu entries on the Games List, which work. But the other part of the equation is incomplete at this point ... however you can populate the list by holding down CTRL while clicking the DOWNLOAD button for a selected game title. This also changes the name of the button to DOWNLOAD LIST, and currently stops normal downloading until the download list is cleared, by using that right-click Games List menu option.

gogcli_main_6.png
Post edited March 07, 2021 by Timboli
Work In Progress Update & Improvements

A download progress bar has been added to the 'Game Files Selector' window, and works well.

gogcli_selector_5.png

Also note the stretched 'Game Files Selector' window, which I have made some resize improvements to.

I have almost completed the MD5 (checksum) checking code ... just need to take a break from coding for a while, but it is likely it will be completed tonight.

Then I will resume work on the download queuing for multiple games ... and eventually continue working on code for downloading without the 'Game Files Selector' window, which will be a simple one-click for a game download, and probably present a floating progress bar window, so you get some feedback and control.

And then work on whatever else comes to mind.
At the moment, only one download thread is supported, so one file at a time (though queued per game). I may look into supporting multiple simultaneous file downloads. It would however add great complexity to my progress reporting, and I am not sure I want that headache. My own view, is file downloaded soon as, is best. :)

See the first post in this thread for a link to a link to get the download. ;)

P.S. Remember, that if you don't want to see those black (DOS like) console windows appear, have them set to minimize on start via that SETUP window option. You can always restore them manually from your taskbar if need be. All the feedback you might like from the console plus more, should be shown on the GUI windows anyway.
Post edited March 07, 2021 by Timboli
Version 0.8.0 is out. See first post for details.
avatar
Magnitus: Version 0.8.0 is out. See first post for details.
Excellent.

-------------------------------------------------------

Please note that the following hasn't yet taken the above release into account.

GOGcli GUI now supports checking the listed MD5 (checksum) value, and thus I have done the First Beta Release of my program.
NOTE - All downloads occur first, then their checksum value where provided is checked (if Validate is enabled on the SETUP window), one by one.

gogcli_selector_6.png

See the following for source and information.

https://github.com/Twombs/GOGcli-GUI

See the following and other posts here (for now) for further information.

https://www.gog.com/forum/general/gogcli_gog_client/post77

I have made a start on the Wiki at GitHub, but nothing much in it yet.

https://github.com/Twombs/GOGcli-GUI/wiki

-------------------------------------------------------

First Beta Release download can be found here - https://github.com/Twombs/GOGcli-GUI/releases/tag/v0.1_b01

-------------------------------------------------------

See the first post in this thread for a link to download required gogcli.exe and information about it.

-------------------------------------------------------

I have started work on the zip file integrity checking, but nothing in that regard has been enabled yet, aside from file size checking.

Now that Magnitus has kindly provided a download destination option, I will support that in my next update.

-------------------------------------------------------

While GOGcli GUI currently works pretty effectively as is, it is still a work in progress, and so it has had minimal testing and there will be further features to come.

GOGcli GUI will eventually (not long now) get its own thread.

Please don't hesitate to give feedback and or ask questions.
Post edited March 08, 2021 by Timboli
A tutorial video would be appreciated . =)
avatar
DD & Ji Ji: A tutorial video would be appreciated . =)
Not sure that is warranted ... and I'm not really a video tutorial kind of guy. :)

But hey, someone else might do it, especially after the following.

I will be doing a text and images tutorial at the Wiki ... probably sooner rather than later.
Just had to re-upload.

I discovered I had forgotten to comment out a testing message box line of code in the MD5 failure section of code, which would halt the checking process until responded to. Of course, if it never failed, you would never see it.