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

×

Requirements

* Python 2.7 (Python 3 support coming soon)
avatar
African_wildlife: Is this information still valid or does the tool run under Python 3?

https://github.com/eddie3/gogrepo/pull/8
As you can see on the Github page you linked, Python 3 support has been added to the original script in year 2015 :)
So yes, the information in the Readme is outdated and you can use it with Python 3 (which I've been doing all the time without problems, btw).
Another question for those who know better. There isn't a way for gogrepo to automatically place DLC (and their extras) in appropriate subfolders, is there?

For at least one game, the various DLC's have different files with the exact same name, and gogrepo's automatic renaming (adding "(1)", and supposedly "(2)", "(3)", etc. to the name of already-downloaded files) doesn't make it very clear which belongs to which.

For the record, the game where I noticed this is "Kindred Spirits on the Roof", both DramaCD 1 and 2 have zip files called "Original_Audio.zip" and "Wallpapers_and_Backgrounds.zip" (with different content), then there's the files "CDBooklet.zip" and "CD_Booklet.zip" which aren't very clear either (the one with an underscore belongs to DramaCD 2 the other to 1). I don't yet have DramaCD 3 or 4, nor do I seem to have any other games that suffer from this issue (that is, having different files with the same name) so I don't know if any other exist.
Post edited May 03, 2019 by Maighstir
Regarding my previous post, I did send in a support request to rename the files.
avatar
StevyB: Okay. So it does not depend on GOG.

I use(d) Linux with Python 2.7.6 (standard/default).
avatar
bratmaxe: He fixed that some time ago in this commit.
Maybe it's because you're using an old gog-manifest.dat and the fix only applies for new data fetched from GOG servers...
Thanks for the info.
Indeed after updating my gog-manifest at the weekend - it took a while :-) - everything works fine. I didn't know this was necessary and never tried.

@woolymethodman: sorry for the confusion.
is there a way to download exclusively keys and no other goodies? My disk space dies cuz of lossless osts and other size-heavy swags
also. Its probably offtop, but I have nowhere else to ask.
Trying to automate not only downloading, but also updating/installing. Thus, Im interested in 2 things:
1. Is there a way to unpack linux installers from command line? I mean - for windows, I can use innoextract, but didnt find anything similar for .sh-packed games.
2. Is it possible to detect if files from downloads list were passed or downloaded? I'd like to run an installation script (which would unpack updated files and move them into game's location) post-update, but dont want to do so for each game each time I launch my updater. So far I can imagine it working by looking into !orphaned folder for ids, but probably there is more delicate way to do so?
avatar
Gekko_Dekko: also. Its probably offtop, but I have nowhere else to ask.
Trying to automate not only downloading, but also updating/installing. Thus, Im interested in 2 things:
1. Is there a way to unpack linux installers from command line? I mean - for windows, I can use innoextract, but didnt find anything similar for .sh-packed games.
2. Is it possible to detect if files from downloads list were passed or downloaded? I'd like to run an installation script (which would unpack updated files and move them into game's location) post-update, but dont want to do so for each game each time I launch my updater. So far I can imagine it working by looking into !orphaned folder for ids, but probably there is more delicate way to do so?
.sh are actually :shell scripts, if you open them in a linux text editor you can actually see how they work. IIRC they are just zipped tar files with the shell scrupt added at the top.


I'd have to think about the second one a bit. There probably isn't anything convenient. I've been thinking about ways to pass data like that around but I haven't really come up with a solid way of doing it, even internally. The easiest way would probably be to edit the verify function.

(The above applies to gogrepo gamma , not the original to be clear. You could hook the verify in the original but if you have a large collection it's probably not fast enough for this to be practical. )
avatar
Gekko_Dekko: also. Its probably offtop, but I have nowhere else to ask.
Trying to automate not only downloading, but also updating/installing. Thus, Im interested in 2 things:
1. Is there a way to unpack linux installers from command line? I mean - for windows, I can use innoextract, but didnt find anything similar for .sh-packed games.
2. Is it possible to detect if files from downloads list were passed or downloaded? I'd like to run an installation script (which would unpack updated files and move them into game's location) post-update, but dont want to do so for each game each time I launch my updater. So far I can imagine it working by looking into !orphaned folder for ids, but probably there is more delicate way to do so?
avatar
Kalanyr: .sh are actually :shell scripts, if you open them in a linux text editor you can actually see how they work. IIRC they are just zipped tar files with the shell scrupt added at the top.

I'd have to think about the second one a bit. There probably isn't anything convenient. I've been thinking about ways to pass data like that around but I haven't really come up with a solid way of doing it, even internally. The easiest way would probably be to edit the verify function.

(The above applies to gogrepo gamma , not the original to be clear. You could hook the verify in the original but if you have a large collection it's probably not fast enough for this to be practical. )
.sh scripts can have other things attached to them, but, in this case you're absolutely correct and accessing them should be as simple as just issuing an unzip command. Or at least that works on my computer.

Depending upon the verson of unzip, you should be able to make it just unzip the changed files, however that may not be useful for what the GP wanted.


It would be grossly inefficient, but you could probably copy the install directory, unzip over the top of it and record which files changed.
Hi,
I've been using Kalanyr's gogrepo script and have a question.

Is there any way of using a single command to update all titles in the existing manifest?
avatar
Taro94: Hi,
I've been using Kalanyr's gogrepo script and have a question.

Is there any way of using a single command to update all titles in the existing manifest?
delete the manifest?
avatar
Taro94: Hi,
I've been using Kalanyr's gogrepo script and have a question.

Is there any way of using a single command to update all titles in the existing manifest?
avatar
erephine: delete the manifest?
I don't like the idea of manually adding every game via the "update" command. I've done it once, now I'd like to update only these titles I've once added.
avatar
erephine: delete the manifest?
avatar
Taro94: I don't like the idea of manually adding every game via the "update" command. I've done it once, now I'd like to update only these titles I've once added.
Not sure I understand your question. The update command will always update everything in your manifest unless you specify.

If you want to force update everything (updates sometimes aren't flagged properly or manifest can get screwy), deleting the manifest and running update is what you want to do.
avatar
erephine: delete the manifest?
avatar
Taro94: I don't like the idea of manually adding every game via the "update" command. I've done it once, now I'd like to update only these titles I've once added.
Games that you mark as hidden on your GOG shelf are excluded from the script automatically. I don't know if there are any other solutions to this.
I noticed that gogrepo saved a bunch of old game versions that are missing from the actual game pages.
Why does it keep them? Am I missing some parameter\command? (I'm using Kalanyr's stable branch)
avatar
phaolo: I noticed that gogrepo saved a bunch of old game versions that are missing from the actual game pages.
Why does it keep them? Am I missing some parameter\command? (I'm using Kalanyr's stable branch)
If I understood your problem right:

You use the "clean" command to remove old obsolete files from your local GOG files, files that don't exist anymore on the GOG servers (ie. are not in your updated manifest file anymore).

Actually it doesn't remove the obsolete files outright, but moves them into a separate !oprhaned-directory, which you can later check and delete all the files in it, if you want. Or keep them there if you feel you want to keep some old files (e.g. I've kept some soundtrack extras that have been removed from some games, or the earlier CD and DVD versions of e.g. Riven (the current version is a ScummVM version of the game).

I don't think it really matters if you run the clean command before or after you download new/changed files. I tend to do if beforehand (right after updating the manifest file), so (E:\GOG\ is the external HDD and directory where I have all my GOG game installers and extras):

python gogrepo.py update -lang en -os windows
python gogrepo.py clean E:\GOG\
python gogrepo.py download E:\GOG\
python gogrepo.py verify E:\GOG\

After that I have a fully updated, clean and verified set of GOG game installers in E:\GOG\.
Under E:\GOG\!oprhaned\ I have all the old obsolete files from the clean command.

EDIT: If, however, you mean that there are some obsolete files still in your manifest file after the update commend... then I personally would simply delete the old manifest file, and re-run the update command. At least then you can be certain you get a clean and fully up-to-date manifest file.
Post edited May 21, 2019 by timppu