dosage - a comic strip downloader and archiver
dosage [options] module...
dosage is an application designed to keep a local mirror of
specific web comics and other picture-based content, such as Picture Of
The Day sites, with a variety of options for updating and maintaining
collections.
- -b PATH,
--basepath=PATH
- Specifies a base path to put comic subdirectories. The default is
Comics.
- --baseurl=PATH
- Specifies the base URL for output handlers. The default is a local file
URI.
- -a, --all
- Traverses all available strips backwards from the current one. This can be
useful you want a full collection of a new comic strip, or update an
existing one where files are missing. Catchups can start at a specific
strip by using the index syntax, see the INDEX SYNTAX and
SPECIAL SYNTAX sections for more information. This is useful when
you missed some days and want only to download the missing files.
- -c,
--continue
- Same as --all, but stop at the first existing image file. Useful
for cron jobs that are not executed every day.
- -h, --help
- Output brief help information.
- -l, --list
- List available comic modules in multi-column fashion.
- --singlelist
- List available comic modules in single-column fashion.
- -m MODULE,
--modulehelp=MODULE
- Output module-specific help for MODULE.
- -o OUTPUT,
--output=OUTPUT
- OUTPUT may be any one of the following:
html - Writes out an HTML file linking to the
strips actually downloaded in the current run, named by date (ala
dailystrips). The files can be found in the html directory of your
Comics directory.
rss - Writes out an RSS feed detailing what strips
were downloaded in the last 24 hours. The feed can be found in
Comics/dailydose.xml.
json - Write a JSON file with all download infos
(URLs, images). Can be used with other scripts, eg. order-symlinks.py to add
symbolic links.
This option can be given multiple times.
- -t,
--timestamps
- Print timestamps for all output at any level.
- -v, --verbose
- Increase the output level by one with each occurence.
- -V, --version
- Display the version number.
- --vote
- Vote for the selected comics to tell others that you like them. The sum of
all votes for a comic will be displayed at the comic index pages at
http://wummel.github.io/dosage/comic-index.html module At least one
valid module must be specified. A list of valid modules can be
found by passing the -l option. Multiple module arguments
can be specified on the command line. Module names are case insensitive,
and it is sufficient to specify a unique substring of the module
name.
Instead of starting at the latest comic strip, an index lets
dosage start at a certain strip. The index can be specified by appending a
colon : and the index name after the module. Multiple comma-spearated
indices can also be specified.
The index name itself usually is the part of the comic strip URL
that identifiess a strip, eg. a number or a date. The expected format is
documented when using the --modulehelp option.
- @
- This expands to mean all the comics currently in your Comics
directory. All other specified comic module names will be ignored.
- @@
- This expands to mean all the comics available to Dosage.
INDEX SYNTAX can not be used with SPECIAL
SYNTAX.
Retrieve all Mega Tokyo comics:
dosage -a megatokyo
Retrieve the current comic of Cyanide and Happiness:
dosage cyanideandhappiness
Retrieve the current strip of all comics in your Comics
directory:
dosage @
Vote for the comics in your Comics directory:
dosage --vote @
Retrieve the current strip of every comic that there is a module
for:
dosage @@
Retrieve the Penny Arcade strip for a given index:
dosage pennyarcade:2004-07-22
Retrieve Calvin and Hobbes strips from a given index going
backwards to the beginning.
dosage -a calvinandhobbes:2012/07/22
- HTTP_PROXY
- dosage will use the specified HTTP proxy when downloading URL
contents.
Should retrieval fail on any given strip dosage will
attempt to retry. However the retry information is only outputted in the
second and successive output levels.
At the time of writing, a complete Dosage collection weighs
in at around 3.0GB.
The return value greater than zero when
- a program error occurred.
- comics could not be found or downloaded
- the program run was aborted with Ctrl-C
Else the return value is zero.
Users can report or view bugs, patches or feature suggestions at
https://github.com/wummel/dosage/issues
Jonathan Jacobs, Tristan Seligmann, Bastian Kleineidam
<bastian.kleineidam@web.de>
Copyright © 2004-2005 Tristan Seligmann and Jonathan Jacobs
Copyright © 2012-2014 Bastian Kleineidam