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
diziet_sma: and here i am again with another feature request! :)

i currently have an alias set up in my .bashrc with the download directory and xml directory specified to lgogdownloader thus:
alias gog='lgogdownloader --directory /data/common_stuff/file_store/games/goodoldgames/ --create-xml automatic --xml-directory /data/common_stuff/lgog_xml/'

in my case i store the files on a server where all my home machines can see them.

it occurs to me that the config file would be a good place to specify defaults, that could then be overridden on the command line. it could include settings for the rate limiting and other stuff.

what do you think? is this a lot to implement?

diziet
Why don't you just write a shell script to execute the command? It took me like 3 seconds to do it, and now I just launch the script every time.
well my alias allows me to use all the options of lgogdownloader without screwing up the two files locations - without which most of the other options won't give meaningful results, rather than a shell script for each type of query or action on my games all non-default options could be specified in advance. it's a usability request not a lack of features complaint :)

diziet
avatar
diziet_sma: have any of the packagers of lgogdownloader rustled up a man page?
if not i've knocked up a quick effort using the help output of lgogdownloader and sude's posts here.
it could do with a copyright section and contact details., but i guess that's up to you sude what you might like in it?
so far i have:
In my tests, The help2man utility produces better results than what you posted.

sudo apt-get install help2man
help2man -N --version-string=2.11 -o lgogdownloader.1 lgogdownloader
man -l lgogdownloader.1
(The -N suppresses the generation of a "The full documentation for ls is maintained as a Texinfo manual" message and specifying the version string manually via --version-string prevents help2man from erroring out for lack of a --version option on lgogdownloader.)

The help2man homepage also includes guidelines on what adjustments to the --help format will get the most out of the tool.
Post edited February 03, 2014 by ssokolow
avatar
diziet_sma: well my alias allows me to use all the options of lgogdownloader without screwing up the two files locations - without which most of the other options won't give meaningful results, rather than a shell script for each type of query or action on my games all non-default options could be specified in advance. it's a usability request not a lack of features complaint :)

diziet
I must not understand what you're doing, because I don't see an advantage here. You can either have multiple shell scripts, or you can just pass the appropriate commands to the script to override the things you want changed. In either case, I'm not sure why this would be any more or less work than implementing it in the project itself.

But, I'm not doing the coding and I don't see how this would harm me, so I don't particularly care. I just don't see how this change would have any impact as it appears to be the same amount of work.
avatar
ssokolow: In my tests, The help2man utility produces better results than what you posted.

sudo apt-get install help2man
help2man -N --version-string=2.11 -o lgogdownloader.1 lgogdownloader
man -l lgogdownloader.1
avatar
ssokolow: (The -N suppresses the generation of a "The full documentation for ls is maintained as a Texinfo manual" message and specifying the version string manually via --version-string prevents help2man from erroring out for lack of a --version option on lgogdownloader.)

The help2man homepage also includes guidelines on what adjustments to the --help format will get the most out of the tool.
you're right that's much nicer:) adding a little info from my earlier effort and voila!:

.TH LGOGDOWNLOADER "1" "February 2014" "lgogdownloader 2.11" "User Commands"
.SH NAME
lgogdownloader \- manual page for lgogdownloader 2.11
.SH DESCRIPTION
LGOGDownloader is a program for downloading games purchased from GOG.com. LGOGDownloader can also query GOG.com to see if game files have changed, it can download extras provided by GOG.com such as artwork and manuals. It is capable of downloading language specific installers for games where they exist. These games are currently for the Microsoft Windows(tm) and Apple(tm) systems only. To play these games under GNU/Linux will require wine or some similar program. Usage of such a program is outside the scope of this document.
.br


.SH
OPTIONS
.TP
\fB\-h\fR [ \fB\-\-help\fR ]
Print help message
.TP
\fB\-\-login\fR
Login
.TP
\fB\-\-list\fR
List games
.TP
\fB\-\-list\-details\fR
List games with detailed info
.TP
\fB\-\-download\fR
Download
.TP
\fB\-\-repair\fR
Repair downloaded files
Use \fB\-\-repair\fR \fB\-\-download\fR to redownload files when
filesizes don't match (possibly different version).
Redownload will delete the old file
.TP
\fB\-\-game\fR arg
Set regular expression filter
for download/list/repair (Perl syntax)
Aliases: "all", "free"
.TP
\fB\-\-directory\fR arg
Set download directory
.TP
\fB\-\-limit\-rate\fR arg (=0)
Limit download rate to value in kB
0 = unlimited
.TP
\fB\-\-create\-xml\fR arg
Create GOG XML for file
"automatic" to enable automatic XML creation
.TP
\fB\-\-xml\-directory\fR arg
Set directory for GOG XML files
.TP
\fB\-\-chunk\-size\fR arg (=10)
Chunk size (in MB) when creating XML
.TP
\fB\-\-update\-check\fR
Check for update notifications
.TP
\fB\-\-platform\fR arg (=1)
Select which installers are downloaded
1 = Windows
2 = Mac
3 = All
.TP
\fB\-\-language\fR arg (=1)
Select which language installers are downloaded
1 = English
2 = German
4 = French
8 = Polish
16 = Russian
32 = Chinese
64 = Czech
128 = Spanish
256 = Hungarian
512 = Italian
1024 = Japanese
2048 = Turkish
4096 = Portuguese
8192 = Korean
Add the values to download multiple languages
All = 16383
French + Polish = 4+8 = 12
.TP
\fB\-\-no\-installers\fR
Don't download/list/repair installers
.TP
\fB\-\-no\-extras\fR
Don't download/list/repair extras
.TP
\fB\-\-no\-patches\fR
Don't download/list/repair patches
.TP
\fB\-\-no\-language\-packs\fR
Don't download/list/repair language packs
.TP
\fB\-\-no\-cover\fR
Don't download cover images
.TP
\fB\-\-no\-remote\-xml\fR
Don't use remote XML for repair
.TP
\fB\-\-no\-unicode\fR
Don't use Unicode in the progress bar
.TP
\fB\-\-no\-color\fR
Don't use coloring in the progress bar
.TP
\fB\-\-no\-duplicate\-handling\fR
Don't use duplicate handler for installers
Duplicate installers from different languages are
handled separately
.TP
\fB\-\-verbose\fR
Print lots of information
.TP
\fB\-\-insecure\fR
Don't verify authenticity of SSL certificates
.TP
\fB\-\-timeout\fR arg (=10)
Set timeout for connection
Maximum time in seconds that connection phase is
allowed to take
.TP
\fB\-\-check\-orphans\fR arg
Check for orphaned files (files found on local
filesystem that are not found on GOG servers). Sets
regular expression filter (Perl syntax) for files to
check. If no argument is given then the regex
defaults to '.*\e.(zip|exe|bin|dmg|old)$'
.TP
\fB\-\-status\fR
Show status of files
.IP
Output format:
statuscode gamename filename filesize filehash
.IP
Status codes:
OK \- File is OK
ND \- File is not downloaded
MD5 \- MD5 mismatch, different version

.SH FILES
Configuration files and cookies are stored in "$XDG_CONFIG_HOME/lgogdownloader".
.br
If $XDG_CONFIG_HOME is not set it will use "$HOME/.config/lgogdownloader".

XML files are now stored in "$XDG_CACHE_HOME/lgogdownloader/xml".
.br
If $XDG_CACHE_HOME is not set it will use "$HOME/.cache/lgogdownloader/xml".

.SH AUTHOR
Sude
.SH WEBSITE
https://github.com/Sude-/lgogdownloader


not sure the formatting survives the pasting here though!

diziet
Git version now has support for setting default options in config file (--save-config and --reset-config options)
avatar
ssokolow: In my tests, The help2man utility produces better results than what you posted.

(The -N suppresses the generation of a "The full documentation for ls is maintained as a Texinfo manual" message and specifying the version string manually via --version-string prevents help2man from erroring out for lack of a --version option on lgogdownloader.)

The help2man homepage also includes guidelines on what adjustments to the --help format will get the most out of the tool.
avatar
diziet_sma: you're right that's much nicer:) adding a little info from my earlier effort and voila!:
I prefer to let help2man regenerate the manpages all it wants, so I took the liberty of converting your tweaks into a --include file for help2man.

https://gist.github.com/ssokolow/0638661520b998fe09c6

(If you want to make changes, I strongly recommend logging into GitHub and using the fork button. Not only do you get a pastebin which lets you edit your paste without having to distribute a new URL, it'll list your fork on my paste so people can find it.)

I also googled up some documentation on groff markup and manpage formatting conventions and adjusted your formatting and phrasing to fit better.

Here's what I changed:
1. Added a SYNOPSIS section showing the command syntax
2. Adjusted the phrasing of your DESCRIPTION and fixed the OS names.
3. Used actual ® symbols for Microsoft Windows® and Apple OS X®. (Not ™ because they're registered trademarks.)
4. Used ".nf" and ".fi" (the troff/nroff/groff equivalents to <pre> and </pre>) to make the lists display properly.
5. Marked up paths using the \fI and \fP (Italic and Previous) markup commands. (Uses underline in a terminal)
6. Restructured the FILES section according to manpage conventions.
7. Removed the AUTHOR section because the `man man-pages` style guide strongly recommends against it.
8. Replaced WEBSITE with AVAILABILITY and rephrased contents for more consistency with existing manpages.
9. Fixed various phrasing and grammatical mistakes.

Here are the resources I used, in case you're interested:
1. help2man: Including Additional Text in the Output
2. Writing Manual Pages (Intro tutorial)
3. Chapter 39: Creating and Formatting Man Pages (Block-level markup)
4. groff manpage (Formatting markup like \fI and \fP)
5. groff_char manpage (Character escapes like ®)
6. man-pages manpage (style guide)

I also added it to the LGOGDownloader issue tracker so there's a nice, clean place to keep track of progress.
Post edited February 04, 2014 by ssokolow
cool :)

a man page for folk who package lgogdownloader thanks to ssokolow, and new config options in the program courtesy of sude, awesome!

diziet

p.s. just downloaded your latest from git sude, you might want to use ssokolow's version of the man page though, it has the proper (r) marks - don't know the keyboard entry for that off hand! but i think you know hat i mean, ssokolow descibes it in his post
Post edited February 04, 2014 by diziet_sma
avatar
diziet_sma: p.s. just downloaded your latest from git sude, you might want to use ssokolow's version of the man page though, it has the proper (r) marks - don't know the keyboard entry for that off hand! but i think you know hat i mean, ssokolow descibes it in his post
If you mean typing ® in the forums, I just use either my desktop's keyboard control panel or setxkbmap -option compose:rctrl to remap the right Ctrl key as Compose.

Then I can type (Compose is a temporarily locking modifier. No holding necessary):
- <Compose> O C to get ©
- <Compose> O R to get ®
- <Compose> T M to get ™
- <Compose> | C to get ¢
- <Compose> 1 2 to get ½
- <Compose> e ' to get é
- ...and many others

I went into detail on that and others on my blog.
Post edited February 04, 2014 by ssokolow
Feature Request

Add the switch --report

this would list all files that were downloaded after the entire process is complete
eg.
I have 587 games
when i use the command line:

lgogdownloader --download --repair --game all --language 16383 --platform 3

I have to wait a day or so for it to complete. Then i have to scroll back and interpret the data to find out what it actually downloaded. if it could spit it out into a txt file or something that would be great.

Don Corleon
avatar
DonCorleon: Feature Request

Add the switch --report

this would list all files that were downloaded after the entire process is complete
eg.
I have 587 games
when i use the command line:

lgogdownloader --download --repair --game all --language 16383 --platform 3

I have to wait a day or so for it to complete. Then i have to scroll back and interpret the data to find out what it actually downloaded. if it could spit it out into a txt file or something that would be great.

Don Corleon
Here's something I quickly put together
https://sites.google.com/site/gogdownloader/report.diff

I'll make a better version of that probably next week when I have more time.
Speedy as always :)

Thank you very much. I will try it out now
I grabbed the latest git version of lgogdownloader then I downloaded the diff file.
I then ran the following command line:

patch -p1 < report.diff

It just hangs and doesn't do anything. Have I used the wrong command here?

PS. Sorry for my poor Linux experience. The only reason I am learning it is to use your app. :)
Post edited February 08, 2014 by DonCorleon
avatar
DonCorleon: ...
The patch is now merged to git with some changes

--report also saves details about repaired files now
Output format:
Downloaded [status] filepath
Repaired [chunks_repaired/total_chunks] filepath
Thanks mate much appreciated.

Just so your aware, I am going to attempt to write a vaguely similar app for windows based users, so that they dont have to do the whole click each link separately thing that i hated so much. Any Objections to me shooting you a pm now and again while i figure out how OAuth works? Im not expecting miricles lol, just a little hand every now and again :) All good if you dont have time.