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

×
I just started using gogrepo since the old dowloader doesn't want to work now. So far I like it, just wish it had a gui and manifest reader4.
avatar
Djaron: ... and your branch would be the kalanyr link one, right ?

or maybe it would just worth rebuilding the whole manifest from scratch ?
Yes, when in doubt, you can simply delete the old manifest file before running gogrepo update, then you start from the clean table.

Generally (later) it may be a good idea to keep using the old manifest file because then you retain the verification info in the file (ie. when you run verification, it doesn't unnecessarily re-check also those you have already verified, only changed files).
Post edited October 07, 2018 by timppu
Well, I've successfully logged into the Galaxy API using gogrepoc and worked out a workaround for if a ReCaptcha is preventing logging in to it (still requires some technical knowhow but less than the previous workaround for the legacy login. I could make it a matter of copying a URL into a browser, signing in, then copying the resulting URL back, I think.) That's probably the worst part in terms of trial and error reverse engineering of code. . Though I do need to tidy it up a bit. .

Need to finish the 'new' (read: fairly modified) game / item structure for the manifest to handle the different (usually better) information available from the Galaxy API while still maintaining things so the legacy management of galaxy downloaders a) is mostly transparent and b) easily nukeable once GOG completely ceases support.for the Galaxy stubs.

After that it's relatively simple programming stuff.

I'll probably make the legacy login and Galaxy stub management completely optional since maybe one person in the world will use it.

I should probably grab a free Movie and see if there's anything interesting I can do there too.

Edit - Oooh nice. The Galaxy API Token lets you log into the web based API as well. That makes things a loooot simpler.
Post edited October 08, 2018 by Kalanyr
Thanks Kalanyr for the awesome work you're doing with this. Looking forward to your next release :)
Sadly, it turns out a large chunk of what I wanted to do isn't possible because some of the information I need isn't available to the public AFAICT.. But on the bright side I've learnt a fair bit about the data structures in trying which I think will let me do most of what I wanted to , though a bit less neatly.

I really wish GOG would publish both their Web & Galaxy APIs.

I've still got some more poking to do at some of the more bizarre structures I've encountered.

I'll probably push this to dev once I've done some really basic cleanup , since it works and those inclined to peek under the hood can have a look and maybe come up with some potential uses while I do the kind of cleanup that prevents me shuddering every time I look at my code and work on implementing the whole reason I did the changeover to the Galaxy API system.

The push will probably be a couple of days though, I'm otherwise occupied tomorrow.
The Art of Playing is a free movie here on GOG, if you just need something to test movie support.

The Gamers: Director's Cut and its sequels are the hidden gems though.
avatar
JethCalark: The Art of Playing is a free movie here on GOG, if you just need something to test movie support.

The Gamers: Director's Cut and its sequels are the hidden gems though.
Yeah, I had it in my cart. I just bit the bullet and "bought" it and I'm looking into handling movies now.

It actually looks like it will be fairly simple.
Does anyone own a Movie on GOG which has audio (not subtitles) available in a language other than English ?

I may need some help with testing in the next week or so.

ETA: For some reason GOG also classifies movies as Windows for OS purposes for some inscrutable reason, even though they are just standard movie formats which work fine on any system. Not quite sure how to deal with that. I could potentially just straight up ignore it and treat all Movies as being for every OS but that may poses some issues if GOG tinkers with their API.

ETA2 - I might be able to do something with regard to Preorders not being marked as Updated when they are released too, but there's the less aggressive approach (which may miss a release) or the more aggressive approach (which checks if a Preorder is out every time an update check is done ,not sure which way I want to handle that. I'm inclined to the less aggressive approach)
Post edited October 11, 2018 by Kalanyr
avatar
Kalanyr: Does anyone own a Movie on GOG which has audio (not subtitles) available in a language other than English ?
Just checked my movies and none have audio tracks in languages other than English. Sorry I can't help.
Hi Kalanyr,

first my thanks for a really great script!

But I think I may have found a bug (in the development version) - what and where is the correct way to report it?

To make a long story short - it seems as "downloads" does only ever contain one entry - and not an array as expected.
You can try with "Beneath a steel sky" (it's free).

If I do a
gogrepoc.py update -lang en de -skipos mac -ids "beneath_a_steel_sky"
I end up with only the german linux download in gog-manifest.dat
gogrepoc.py update -lang en -os windows -ids "beneath_a_steel_sky"
will give me the english windows download.

I would really love to be able to backup "all" installers (that is without the mac ones for me ...)
avatar
merlinwv: Hi Kalanyr,

first my thanks for a really great script!

But I think I may have found a bug (in the development version) - what and where is the correct way to report it?

To make a long story short - it seems as "downloads" does only ever contain one entry - and not an array as expected.
You can try with "Beneath a steel sky" (it's free).

If I do a
gogrepoc.py update -lang en de -skipos mac -ids "beneath_a_steel_sky"
I end up with only the german linux download in gog-manifest.dat
gogrepoc.py update -lang en -os windows -ids "beneath_a_steel_sky"
will give me the english windows download.

I would really love to be able to backup "all" installers (that is without the mac ones for me ...)
Do you have the latest version of the dev branch ? That should have been fixed with the Sep 14 push.

I'm afraid I can't fix it right now , I'm in the middle of a pretty big rewrite that should hopefully allow for some more interesting filtering later (eg skipping patches or skipping dlc or skipping manuals etc) + adding move support, so my local copy is pretty transitional. I know what I said a few days ago but I decided to push on and it worked pretty well

Let me know if it isn't working on the latest dev branch copy and I'll check into it again.
avatar
Kalanyr: Do you have the latest version of the dev branch ? That should have been fixed with the Sep 14 push.

I'm afraid I can't fix it right now , I'm in the middle of a pretty big rewrite that should hopefully allow for some more interesting filtering later (eg skipping patches or skipping dlc or skipping manuals etc) + adding move support, so my local copy is pretty transitional. I know what I said a few days ago but I decided to push on and it worked pretty well

Let me know if it isn't working on the latest dev branch copy and I'll check into it again.
Yes, I'm quite sure I have the latest version from dev - I even re-downloaded it.

Never mind fixing it "right now" - after I found out what the problem was, I had the workaround (do update for only one lang/os combo, download, go to next combo). I will check with the Sep 14th version - maybe that bug just crept back in somehow :-)
Ok, forget it. I honestly don't know what went wrong with my previous tests, but when I just now tested again - it worked.

I will have another test (as soon as my download run is finished) - because I think I may have used -installers standalone before (to prevent the 404 errors with the galaxy-installers)
avatar
Kalanyr: Let me know if it isn't working on the latest dev branch copy and I'll check into it again.
Greetings Kalanyr

Greetings... I tried to follow your advice and use your gogrepo fork instead of the eddie30 version but i had a problem:
It terminated with an error on line 40 regarding the "import requests" command.

Now i will sound as a despicable noob for such obvious thing that shouldn't be a problem, but i happen to be quite clueless and unfamiliar with working on python to begin with, and especially under windows environment... Making the correct install of stated dependencies for the eddie30 version already was tedious, compared to working on a linux environment where i'm pretty sure it would have been easier to solve. So for now, the older gogrepo works, but not yours.

Can you please tell me which python exact lib or dependency is required regarding this "requests" import command that didnt work if possible ? The previous gogrepo i used would work under my actual environement (which consist on the two libs stated in the eddie30 github presentation page, some html parsing lib and another one); i didnt add anything but those two to the basic python installation.

Sorry to pollute the forum's thread with such noob question, but as you cannot be contacted through gog private messenging, i had no other way...

Now that had been said, other observations and suggestions in my initial message may still be valid unless you can confirm that your fork already have such features and functions within... The bandwidth/throttle limit cap being the most important afaic. I saw curious behaviors from the eddie30 previous version on that regard (as in: using roughly 50-60% of the entire connection's bandwidth but crippling it to death so that the non used remaining bandwidth cannot even be used by any other application on the current host, or any other computer on the network)

Adding another one: is there any way to specify a samba smb network location as working folder, on Win environment ? (of course i suppose it wouldnt be an issue on a linux environment as i would assume it would be treated as any "folder" rgular argument... and anyway, i know there is a workaround, that consist on mounting said network folder with a unit letter... but, well...)

Thank you in advance
Post edited October 16, 2018 by Djaron
avatar
Kalanyr: Let me know if it isn't working on the latest dev branch copy and I'll check into it again.
avatar
Djaron: Greetings Kalanyr

Greetings... I tried to follow your advice and use your gogrepo fork instead of the eddie30 version but i had a problem:
It terminated with an error on line 40 regarding the "import requests" command.

Now i will sound as a despicable noob for such obvious thing that shouldn't be a problem, but i happen to be quite clueless and unfamiliar with working on python to begin with, and especially under windows environment... Making the correct install of stated dependencies for the eddie30 version already was tedious, compared to working on a linux environment where i'm pretty sure it would have been easier to solve. So for now, the older gogrepo works, but not yours.

Can you please tell me which python exact lib or dependency is required regarding this "requests" import command that didnt work if possible ? The previous gogrepo i used would work under my actual environement (which consist on the two libs stated in the eddie30 github presentation page, some html parsing lib and another one); i didnt add anything but those two to the basic python installation.

Sorry to pollute the forum's thread with such noob question, but as you cannot be contacted through gog private messenging, i had no other way...

Now that had been said, other observations and suggestions in my initial message may still be valid unless you can confirm that your fork already have such features and functions within... The bandwidth/throttle limit cap being the most important afaic. I saw curious behaviors from the eddie30 previous version on that regard (as in: using roughly 50-60% of the entire connection's bandwidth but crippling it to death so that the non used remaining bandwidth cannot even be used by any other application on the current host, or any other computer on the network)

Adding another one: is there any way to specify a samba smb network location as working folder, on Win environment ? (of course i suppose it wouldnt be an issue on a linux environment as i would assume it would be treated as any "folder" rgular argument... and anyway, i know there is a workaround, that consist on mounting said network folder with a unit letter... but, well...)

Thank you in advance
The documentation is out of date yeah.

You need to
pip install requests
pip install pyopenssl