Remove more old stuff.
This commit is contained in:
parent
cfcfcc2468
commit
3c4b3fdfc3
10 changed files with 6 additions and 872 deletions
2
.gitattributes
vendored
2
.gitattributes
vendored
|
@ -1,5 +1,3 @@
|
||||||
.gitattributes export-ignore
|
.gitattributes export-ignore
|
||||||
.gitignore export-ignore
|
.gitignore export-ignore
|
||||||
/scripts/*.json export-ignore
|
|
||||||
/doc/web export-ignore
|
|
||||||
.travis.yml export-ignore
|
.travis.yml export-ignore
|
||||||
|
|
10
.gitignore
vendored
10
.gitignore
vendored
|
@ -1,13 +1,15 @@
|
||||||
*.orig
|
*.orig
|
||||||
*.pyc
|
*.pyc
|
||||||
*.pyo
|
*.pyo
|
||||||
|
/.cache
|
||||||
|
/.coverage
|
||||||
/.eggs
|
/.eggs
|
||||||
|
/AUTHORS
|
||||||
|
/ChangeLog
|
||||||
/Comics
|
/Comics
|
||||||
/build
|
/build
|
||||||
/dist
|
/dist
|
||||||
/ChangeLog
|
|
||||||
/testresults.txt
|
|
||||||
/dosage.prof
|
|
||||||
/dosage.egg-info
|
/dosage.egg-info
|
||||||
|
/dosage.prof
|
||||||
/scripts/*.json
|
/scripts/*.json
|
||||||
/AUTHORS
|
/testresults.txt
|
||||||
|
|
|
@ -1,2 +1 @@
|
||||||
exclude .*
|
exclude .*
|
||||||
recursive-exclude scripts dosage.*
|
|
||||||
|
|
173
Makefile
173
Makefile
|
@ -1,173 +0,0 @@
|
||||||
# This Makefile is only used by developers.
|
|
||||||
# See doc/install.txt on how to install dosage
|
|
||||||
PYTHON:=python
|
|
||||||
VERSION:=$(shell $(PYTHON) setup.py --version)
|
|
||||||
MAINTAINER:=$(shell $(PYTHON) setup.py --maintainer)
|
|
||||||
AUTHOR:=$(shell $(PYTHON) setup.py --author)
|
|
||||||
APPNAME:=$(shell $(PYTHON) setup.py --name)
|
|
||||||
ARCHIVE_SOURCE:=$(APPNAME)-$(VERSION).tar.gz
|
|
||||||
ARCHIVE_WIN32:=$(APPNAME)-$(VERSION).exe
|
|
||||||
GITUSER:=wummel
|
|
||||||
GITREPO:=$(APPNAME)
|
|
||||||
HOMEPAGE:=$(HOME)/public_html/dosage-webpage.git
|
|
||||||
WEBMETA:=doc/web/app.yaml
|
|
||||||
DEBUILDDIR:=$(HOME)/projects/debian/official
|
|
||||||
DEBORIGFILE:=$(DEBUILDDIR)/$(APPNAME)_$(VERSION).orig.tar.gz
|
|
||||||
DEBPACKAGEDIR:=$(DEBUILDDIR)/$(APPNAME)-$(VERSION)
|
|
||||||
# Default pytest options
|
|
||||||
# Note that using -n silently swallows test creation exceptions like
|
|
||||||
# import errors.
|
|
||||||
PYTESTOPTS?=--resultlog=testresults.txt --tb=short -n10
|
|
||||||
CHMODMINUSMINUS:=--
|
|
||||||
# directory or file with tests to run
|
|
||||||
TESTS ?= tests
|
|
||||||
# set test options, eg. to "--verbose"
|
|
||||||
TESTOPTS=
|
|
||||||
|
|
||||||
all:
|
|
||||||
|
|
||||||
chmod:
|
|
||||||
-chmod -R a+rX,u+w,go-w $(CHMODMINUSMINUS) *
|
|
||||||
find . -type d -exec chmod 755 {} \;
|
|
||||||
|
|
||||||
dist:
|
|
||||||
[ -d dist ] || mkdir dist
|
|
||||||
$(PYTHON) setup.py sdist --formats=tar
|
|
||||||
gzip --best dist/$(APPNAME)-$(VERSION).tar
|
|
||||||
[ ! -f ../$(ARCHIVE_WIN32) ] || cp ../$(ARCHIVE_WIN32) dist
|
|
||||||
|
|
||||||
sign:
|
|
||||||
[ -f dist/$(ARCHIVE_SOURCE).asc ] || gpg --detach-sign --armor dist/$(ARCHIVE_SOURCE)
|
|
||||||
[ -f dist/$(ARCHIVE_WIN32).asc ] || gpg --detach-sign --armor dist/$(ARCHIVE_WIN32)
|
|
||||||
|
|
||||||
upload: upload_source upload_binary
|
|
||||||
|
|
||||||
upload_source:
|
|
||||||
twine upload dist/$(ARCHIVE_SOURCE) dist/$(ARCHIVE_SOURCE).asc
|
|
||||||
|
|
||||||
upload_binary:
|
|
||||||
cp dist/$(ARCHIVE_WIN32) dist/$(ARCHIVE_WIN32).asc \
|
|
||||||
$(HOMEPAGE)/dist
|
|
||||||
|
|
||||||
update_webmeta:
|
|
||||||
# update metadata
|
|
||||||
@echo "version: \"$(VERSION)\"" > $(WEBMETA)
|
|
||||||
@echo "name: \"$(APPNAME)\"" >> $(WEBMETA)
|
|
||||||
@echo "maintainer: \"$(MAINTAINER)\"" >> $(WEBMETA)
|
|
||||||
@echo "author: \"$(AUTHOR)\"" >> $(WEBMETA)
|
|
||||||
git add $(WEBMETA)
|
|
||||||
-git commit -m "Updated webpage meta info"
|
|
||||||
|
|
||||||
homepage: update_webmeta
|
|
||||||
# update documentation and release website
|
|
||||||
$(MAKE) -C doc
|
|
||||||
$(MAKE) -C doc/web release
|
|
||||||
|
|
||||||
release: distclean releasecheck
|
|
||||||
$(MAKE) dist sign upload homepage tag register changelog deb
|
|
||||||
|
|
||||||
tag:
|
|
||||||
git tag upstream/$(VERSION)
|
|
||||||
git push --tags origin upstream/$(VERSION)
|
|
||||||
|
|
||||||
register:
|
|
||||||
@echo "Register at Python Package Index..."
|
|
||||||
$(PYTHON) setup.py register
|
|
||||||
|
|
||||||
releasecheck:
|
|
||||||
git checkout master
|
|
||||||
$(MAKE) check test
|
|
||||||
# test console output (behaves differently than redirected output)
|
|
||||||
$(MAKE) test PYTESTOPTS="-s" TESTS=tests/test_dosage.py
|
|
||||||
@if egrep -i "xx\.|xxxx|\.xx" doc/changelog.txt > /dev/null; then \
|
|
||||||
echo "Could not release: edit doc/changelog.txt release date"; false; \
|
|
||||||
fi
|
|
||||||
@if [ ! -f ../$(ARCHIVE_WIN32) ]; then \
|
|
||||||
echo "Missing WIN32 distribution archive at ../$(ARCHIVE_WIN32)"; \
|
|
||||||
false; \
|
|
||||||
fi
|
|
||||||
# $(PYTHON) setup.py check --restructuredtext
|
|
||||||
git checkout debian
|
|
||||||
@if ! head -1 debian/changelog | grep "$(VERSION)" > /dev/null; then \
|
|
||||||
echo "Could not release: update debian/changelog version"; false; \
|
|
||||||
fi
|
|
||||||
@if head -1 debian/changelog | grep UNRELEASED >/dev/null; then \
|
|
||||||
echo "Could not release: set debian/changelog release name"; false; \
|
|
||||||
fi
|
|
||||||
git checkout master
|
|
||||||
|
|
||||||
# The check programs used here are mostly local scripts on my private system.
|
|
||||||
# So for other developers there is no need to execute this target.
|
|
||||||
check:
|
|
||||||
check-copyright
|
|
||||||
check-py-encoding patoolib tests
|
|
||||||
check-pofiles -v
|
|
||||||
py-tabdaddy
|
|
||||||
py-unittest2-compat tests/
|
|
||||||
$(MAKE) doccheck
|
|
||||||
|
|
||||||
doccheck:
|
|
||||||
py-check-docstrings --force \
|
|
||||||
dosagelib/*.py \
|
|
||||||
dosage \
|
|
||||||
scripts \
|
|
||||||
*.py
|
|
||||||
|
|
||||||
pyflakes:
|
|
||||||
pyflakes dosage dosagelib scripts tests doc/web
|
|
||||||
|
|
||||||
count:
|
|
||||||
@sloccount dosage dosagelib/*.py
|
|
||||||
|
|
||||||
clean:
|
|
||||||
find . -name \*.pyc -delete
|
|
||||||
find . -name \*.pyo -delete
|
|
||||||
rm -rf build dist
|
|
||||||
|
|
||||||
distclean: clean
|
|
||||||
rm -rf $(APPNAME).egg-info $(APPNAME).prof test.sh Comics
|
|
||||||
rm -f _$(APPNAME)_configdata.py MANIFEST
|
|
||||||
|
|
||||||
localbuild:
|
|
||||||
$(PYTHON) setup.py build
|
|
||||||
|
|
||||||
test: localbuild
|
|
||||||
env LANG=en_US.utf-8 http_proxy="" $(PYTHON) -m pytest $(PYTESTOPTS) $(TESTOPTS) $(TESTS)
|
|
||||||
|
|
||||||
testall: localbuild
|
|
||||||
env LANG=en_UR.utf-8 http_proxy="" TESTALL=1 $(PYTHON) -m pytest $(PYTESTOPTS) $(TESTOPTS) $(TESTS)
|
|
||||||
|
|
||||||
deb:
|
|
||||||
# Build an official .deb package; only useful for Debian maintainers.
|
|
||||||
# To build a local .deb package, use:
|
|
||||||
# $ sudo apt-get build-dep dosage; apt-get source dosage; cd dosage-*; debuild binary
|
|
||||||
[ -f $(DEBORIGFILE) ] || cp dist/$(ARCHIVE_SOURCE) $(DEBORIGFILE)
|
|
||||||
sed -i -e 's/VERSION_$(APPNAME):=.*/VERSION_$(APPNAME):=$(VERSION)/' $(DEBUILDDIR)/$(APPNAME).mak
|
|
||||||
[ -d $(DEBPACKAGEDIR) ] || (cd $(DEBUILDDIR); \
|
|
||||||
patool extract $(DEBORIGFILE); \
|
|
||||||
cd $(CURDIR); \
|
|
||||||
git checkout debian; \
|
|
||||||
cp -r debian $(DEBPACKAGEDIR); \
|
|
||||||
rm -f $(DEBPACKAGEDIR)/debian/.gitignore; \
|
|
||||||
git checkout master)
|
|
||||||
$(MAKE) -C $(DEBUILDDIR) $(APPNAME)_clean $(APPNAME)
|
|
||||||
|
|
||||||
update-copyright:
|
|
||||||
# update-copyright is a local tool which updates the copyright year for each
|
|
||||||
# modified file.
|
|
||||||
update-copyright --holder="$(MAINTAINER)"
|
|
||||||
|
|
||||||
update-comics:
|
|
||||||
# update all scripted comic plugins (takes ca. one hour on my computer)
|
|
||||||
scripts/generate_json.sh
|
|
||||||
scripts/update_plugins.sh
|
|
||||||
|
|
||||||
|
|
||||||
changelog:
|
|
||||||
# github-changelog is a local tool which parses the changelog and automatically
|
|
||||||
# closes issues mentioned in the changelog entries.
|
|
||||||
github-changelog $(DRYRUN) $(GITUSER) $(GITREPO) doc/changelog.txt
|
|
||||||
|
|
||||||
.PHONY: update-copyright deb test clean distclean count pyflakes changelog
|
|
||||||
.PHONY: doccheck check releasecheck release dist chmod localbuild sign
|
|
||||||
.PHONY: register tag homepage
|
|
11
doc/Makefile
11
doc/Makefile
|
@ -1,11 +0,0 @@
|
||||||
all: dosage.1.html dosage.txt
|
|
||||||
|
|
||||||
dosage.txt: dosage.1
|
|
||||||
# make text file from man page for Windows builds
|
|
||||||
cols=`stty size | cut -d" " -f2`; stty cols 72; man -l $< | sed -e 's/.\cH//g' > $@; stty cols $$cols
|
|
||||||
|
|
||||||
dosage.1.html: dosage.1
|
|
||||||
man2html -r $< | tail -n +2 | sed 's/Time:.*//g' | sed 's@/:@/@g' > $@
|
|
||||||
patch --no-backup-if-mismatch --quiet $@ dosage.1.html.diff
|
|
||||||
|
|
||||||
.PHONY: all
|
|
184
doc/dosage.1
184
doc/dosage.1
|
@ -1,184 +0,0 @@
|
||||||
.TH DOSAGE 1
|
|
||||||
.SH NAME
|
|
||||||
dosage \- a comic strip downloader and archiver
|
|
||||||
.SH SYNOPSIS
|
|
||||||
\fBdosage\fP [\fIoptions\fP] \fImodule\fP...
|
|
||||||
.SH DESCRIPTION
|
|
||||||
.B dosage
|
|
||||||
is an application designed to keep a local mirror of specific
|
|
||||||
web comics and other picture\-based content, such as
|
|
||||||
\fIPicture Of The Day\fP sites, with a variety of options
|
|
||||||
for updating and maintaining collections.
|
|
||||||
.SH OPTIONS
|
|
||||||
.TP
|
|
||||||
\fB\-b\fP \fIPATH\fP, \fB\-\-basepath=\fP\fIPATH\fP
|
|
||||||
Specifies a base path to put comic subdirectories. The default is \fBComics\fP.
|
|
||||||
.TP
|
|
||||||
\fB\-\-baseurl=\fP\fIPATH\fP
|
|
||||||
Specifies the base URL for output handlers. The default is a local file URI.
|
|
||||||
.TP
|
|
||||||
\fB\-a\fP, \fB\-\-all\fP
|
|
||||||
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
|
|
||||||
.B INDEX SYNTAX
|
|
||||||
and
|
|
||||||
.B SPECIAL SYNTAX
|
|
||||||
sections for more information. This is useful when you missed some days
|
|
||||||
and want only to download the missing files.
|
|
||||||
.TP
|
|
||||||
\fB\-c\fP, \fB\-\-continue\fP
|
|
||||||
Same as \fB\-\-all\fP, but stop at the first existing image file.
|
|
||||||
Useful for cron jobs that are not executed every day.
|
|
||||||
.TP
|
|
||||||
\fB\-h\fP, \fB\-\-help\fP
|
|
||||||
Output brief help information.
|
|
||||||
.TP
|
|
||||||
\fB\-l\fP, \fB\-\-list\fP
|
|
||||||
List available comic modules in multi\-column fashion.
|
|
||||||
.TP
|
|
||||||
\fB\-\-singlelist\fP
|
|
||||||
List available comic modules in single\-column fashion.
|
|
||||||
.TP
|
|
||||||
\fB\-m\fP \fIMODULE\fP, \fB\-\-modulehelp=\fP\fIMODULE\fP
|
|
||||||
Output module-specific help for \fIMODULE\fP.
|
|
||||||
.TP
|
|
||||||
\fB\-o\fP \fIOUTPUT\fP, \fB\-\-output=\fP\fIOUTPUT\fP
|
|
||||||
\fIOUTPUT\fP may be any one of the following:
|
|
||||||
.PP
|
|
||||||
.RS
|
|
||||||
.BR "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
|
|
||||||
\fBhtml\fP directory of your \fBComics\fP directory.
|
|
||||||
.RE
|
|
||||||
.PP
|
|
||||||
.RS
|
|
||||||
.BR "rss " \-
|
|
||||||
Writes out an RSS feed detailing what strips were downloaded in the last 24
|
|
||||||
hours. The feed can be found in \fBComics/dailydose.xml\fP.
|
|
||||||
.RE
|
|
||||||
.PP
|
|
||||||
.RS
|
|
||||||
.BR "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.
|
|
||||||
.RE
|
|
||||||
This option can be given multiple times.
|
|
||||||
.TP
|
|
||||||
\fB\-t\fP, \fB\-\-timestamps\fP
|
|
||||||
Print timestamps for all output at any level.
|
|
||||||
.TP
|
|
||||||
\fB\-v\fP, \fB\-\-verbose\fP
|
|
||||||
Increase the output level by one with each occurence.
|
|
||||||
.TP
|
|
||||||
\fB\-V\fP, \fB\-\-version\fP
|
|
||||||
Display the version number.
|
|
||||||
.TP
|
|
||||||
\fB\-\-vote\fP
|
|
||||||
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
|
|
||||||
.I module
|
|
||||||
At least one valid
|
|
||||||
.I module
|
|
||||||
must be specified. A list of valid modules can be found by passing the
|
|
||||||
.B \-l
|
|
||||||
option. Multiple
|
|
||||||
.I 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.
|
|
||||||
.SH INDEX SYNTAX
|
|
||||||
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 \fB:\fP
|
|
||||||
and the index name after the module. Multiple comma-spearated indices can
|
|
||||||
also be specified.
|
|
||||||
.PP
|
|
||||||
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 \fB\-\-modulehelp\fP option.
|
|
||||||
.SH SPECIAL SYNTAX
|
|
||||||
.TP
|
|
||||||
.B @
|
|
||||||
This expands to mean all the comics currently in your \fBComics\fP
|
|
||||||
directory. All other specified comic module names will be ignored.
|
|
||||||
.TP
|
|
||||||
.B @@
|
|
||||||
This expands to mean all the comics available to Dosage.
|
|
||||||
.PP
|
|
||||||
\fBINDEX SYNTAX\fP can not be used with \fBSPECIAL SYNTAX\fP.
|
|
||||||
.SH EXAMPLES
|
|
||||||
Retrieve all Mega Tokyo comics:
|
|
||||||
.RS
|
|
||||||
.B dosage \-a megatokyo
|
|
||||||
.RE
|
|
||||||
.PP
|
|
||||||
Retrieve the current comic of Cyanide and Happiness:
|
|
||||||
.RS
|
|
||||||
.B dosage cyanideandhappiness
|
|
||||||
.RE
|
|
||||||
.PP
|
|
||||||
Retrieve the current strip of all comics in your \fBComics\fP directory:
|
|
||||||
.RS
|
|
||||||
.B dosage @
|
|
||||||
.RE
|
|
||||||
.PP
|
|
||||||
Vote for the comics in your \fBComics\fP directory:
|
|
||||||
.RS
|
|
||||||
.B dosage --vote @
|
|
||||||
.RE
|
|
||||||
.PP
|
|
||||||
Retrieve the current strip of every comic that there is a module for:
|
|
||||||
.RS
|
|
||||||
.B dosage @@
|
|
||||||
.RE
|
|
||||||
.PP
|
|
||||||
Retrieve the Penny Arcade strip for a given index:
|
|
||||||
.RS
|
|
||||||
.B dosage pennyarcade:2004\-07\-22
|
|
||||||
.RE
|
|
||||||
.PP
|
|
||||||
Retrieve Calvin and Hobbes strips from a given index going backwards to
|
|
||||||
the beginning.
|
|
||||||
.RS
|
|
||||||
.B dosage \-a calvinandhobbes:2012/07/22
|
|
||||||
.RE
|
|
||||||
.PP
|
|
||||||
.SH ENVIRONMENT
|
|
||||||
.IP HTTP_PROXY
|
|
||||||
.B dosage
|
|
||||||
will use the specified HTTP proxy when downloading URL contents.
|
|
||||||
.SH NOTES
|
|
||||||
Should retrieval fail on any given strip
|
|
||||||
.B dosage
|
|
||||||
will attempt to retry. However the retry information is only outputted
|
|
||||||
in the
|
|
||||||
.B second
|
|
||||||
and successive output levels.
|
|
||||||
.PP
|
|
||||||
At the time of writing, a
|
|
||||||
.B complete
|
|
||||||
Dosage collection weighs in at around 3.0GB.
|
|
||||||
.SH RETURN VALUE
|
|
||||||
The return value greater than zero when
|
|
||||||
.IP \(bu
|
|
||||||
a program error occurred.
|
|
||||||
.IP \(bu
|
|
||||||
comics could not be found or downloaded
|
|
||||||
.IP \(bu
|
|
||||||
the program run was aborted with Ctrl\-C
|
|
||||||
.PP
|
|
||||||
Else the return value is zero.
|
|
||||||
.SH BUGS
|
|
||||||
Users can report or view bugs, patches or feature suggestions at
|
|
||||||
.I https://github.com/wummel/dosage/issues
|
|
||||||
.SH AUTHORS
|
|
||||||
Jonathan Jacobs, Tristan Seligmann, Bastian Kleineidam <bastian.kleineidam@web.de>
|
|
||||||
.SH COPYRIGHT
|
|
||||||
Copyright \(co 2004-2005 Tristan Seligmann and Jonathan Jacobs
|
|
||||||
.br
|
|
||||||
Copyright \(co 2012-2014 Bastian Kleineidam
|
|
|
@ -1,288 +0,0 @@
|
||||||
|
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
||||||
<HTML><HEAD><TITLE>Man page of DOSAGE</TITLE>
|
|
||||||
</HEAD><BODY>
|
|
||||||
<H1>DOSAGE</H1>
|
|
||||||
Section: User Commands (1)<BR><A HREF="#index">Index</A>
|
|
||||||
<A HREF="index.html">Return to Main Contents</A><HR>
|
|
||||||
|
|
||||||
<A NAME="lbAB"> </A>
|
|
||||||
<H2>NAME</H2>
|
|
||||||
|
|
||||||
dosage - a comic strip downloader and archiver
|
|
||||||
<A NAME="lbAC"> </A>
|
|
||||||
<H2>SYNOPSIS</H2>
|
|
||||||
|
|
||||||
<B>dosage</B> [<I>options</I>] <I>module</I>...
|
|
||||||
<A NAME="lbAD"> </A>
|
|
||||||
<H2>DESCRIPTION</H2>
|
|
||||||
|
|
||||||
<B>dosage</B>
|
|
||||||
|
|
||||||
is an application designed to keep a local mirror of specific
|
|
||||||
web comics and other picture-based content, such as
|
|
||||||
<I>Picture Of The Day</I> sites, with a variety of options
|
|
||||||
for updating and maintaining collections.
|
|
||||||
<A NAME="lbAE"> </A>
|
|
||||||
<H2>OPTIONS</H2>
|
|
||||||
|
|
||||||
<DL COMPACT>
|
|
||||||
<DT><B>-b</B> <I>PATH</I>, <B>--basepath=</B><I>PATH</I><DD>
|
|
||||||
Specifies a base path to put comic subdirectories. The default is <B>Comics</B>.
|
|
||||||
<DT><B>--baseurl=</B><I>PATH</I><DD>
|
|
||||||
Specifies the base URL for output handlers. The default is a local file URI.
|
|
||||||
<DT><B>-a</B>, <B>--all</B><DD>
|
|
||||||
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
|
|
||||||
<B>INDEX SYNTAX</B>
|
|
||||||
|
|
||||||
and
|
|
||||||
<B>SPECIAL SYNTAX</B>
|
|
||||||
|
|
||||||
sections for more information. This is useful when you missed some days
|
|
||||||
and want only to download the missing files.
|
|
||||||
<DT><B>-c</B>, <B>--continue</B><DD>
|
|
||||||
Same as <B>--all</B>, but stop at the first existing image file.
|
|
||||||
Useful for cron jobs that are not executed every day.
|
|
||||||
<DT><B>-h</B>, <B>--help</B><DD>
|
|
||||||
Output brief help information.
|
|
||||||
<DT><B>-l</B>, <B>--list</B><DD>
|
|
||||||
List available comic modules in multi-column fashion.
|
|
||||||
<DT><B>--singlelist</B><DD>
|
|
||||||
List available comic modules in single-column fashion.
|
|
||||||
<DT><B>-m</B> <I>MODULE</I>, <B>--modulehelp=</B><I>MODULE</I><DD>
|
|
||||||
Output module-specific help for <I>MODULE</I>.
|
|
||||||
<DT><B>-o</B> <I>OUTPUT</I>, <B>--output=</B><I>OUTPUT</I><DD>
|
|
||||||
<I>OUTPUT</I> may be any one of the following:
|
|
||||||
</DL>
|
|
||||||
<P>
|
|
||||||
|
|
||||||
<DL COMPACT><DT><DD>
|
|
||||||
<B>html </B>-
|
|
||||||
|
|
||||||
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
|
|
||||||
<B>html</B> directory of your <B>Comics</B> directory.
|
|
||||||
</DL>
|
|
||||||
|
|
||||||
<P>
|
|
||||||
|
|
||||||
<DL COMPACT><DT><DD>
|
|
||||||
<B>rss </B>-
|
|
||||||
|
|
||||||
Writes out an RSS feed detailing what strips were downloaded in the last 24
|
|
||||||
hours. The feed can be found in <B>Comics/dailydose.xml</B>.
|
|
||||||
</DL>
|
|
||||||
|
|
||||||
<P>
|
|
||||||
|
|
||||||
<DL COMPACT><DT><DD>
|
|
||||||
<B>json </B>-
|
|
||||||
|
|
||||||
Write a JSON file with all download infos (URLs, images). Can be used with
|
|
||||||
other scripts, eg. order-symlinks.py to add symbolic links.
|
|
||||||
</DL>
|
|
||||||
|
|
||||||
This option can be given multiple times.
|
|
||||||
<DL COMPACT>
|
|
||||||
<DT><B>-t</B>, <B>--timestamps</B><DD>
|
|
||||||
Print timestamps for all output at any level.
|
|
||||||
<DT><B>-v</B>, <B>--verbose</B><DD>
|
|
||||||
Increase the output level by one with each occurence.
|
|
||||||
<DT><B>-V</B>, <B>--version</B><DD>
|
|
||||||
Display the version number.
|
|
||||||
<DT><B>--vote</B><DD>
|
|
||||||
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 <A HREF="http://wummel.github.io/dosage/comic-index.html">http://wummel.github.io/dosage/comic-index.html</A>
|
|
||||||
<I>module</I>
|
|
||||||
|
|
||||||
At least one valid
|
|
||||||
<I>module</I>
|
|
||||||
|
|
||||||
must be specified. A list of valid modules can be found by passing the
|
|
||||||
<B>-l</B>
|
|
||||||
|
|
||||||
option. Multiple
|
|
||||||
<I>module</I>
|
|
||||||
|
|
||||||
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.
|
|
||||||
</DL>
|
|
||||||
<A NAME="lbAF"> </A>
|
|
||||||
<H2>INDEX SYNTAX</H2>
|
|
||||||
|
|
||||||
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 <B>:</B>
|
|
||||||
and the index name after the module. Multiple comma-spearated indices can
|
|
||||||
also be specified.
|
|
||||||
<P>
|
|
||||||
|
|
||||||
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 <B>--modulehelp</B> option.
|
|
||||||
<A NAME="lbAG"> </A>
|
|
||||||
<H2>SPECIAL SYNTAX</H2>
|
|
||||||
|
|
||||||
<DL COMPACT>
|
|
||||||
<DT><B>@</B>
|
|
||||||
|
|
||||||
<DD>
|
|
||||||
This expands to mean all the comics currently in your <B>Comics</B>
|
|
||||||
directory. All other specified comic module names will be ignored.
|
|
||||||
<DT><B>@@</B>
|
|
||||||
|
|
||||||
<DD>
|
|
||||||
This expands to mean all the comics available to Dosage.
|
|
||||||
</DL>
|
|
||||||
<P>
|
|
||||||
|
|
||||||
<B>INDEX SYNTAX</B> can not be used with <B>SPECIAL SYNTAX</B>.
|
|
||||||
<A NAME="lbAH"> </A>
|
|
||||||
<H2>EXAMPLES</H2>
|
|
||||||
|
|
||||||
Retrieve all Mega Tokyo comics:
|
|
||||||
<DL COMPACT><DT><DD>
|
|
||||||
<B>dosage -a megatokyo</B>
|
|
||||||
|
|
||||||
</DL>
|
|
||||||
|
|
||||||
<P>
|
|
||||||
|
|
||||||
Retrieve the current comic of Cyanide and Happiness:
|
|
||||||
<DL COMPACT><DT><DD>
|
|
||||||
<B>dosage cyanideandhappiness</B>
|
|
||||||
|
|
||||||
</DL>
|
|
||||||
|
|
||||||
<P>
|
|
||||||
|
|
||||||
Retrieve the current strip of all comics in your <B>Comics</B> directory:
|
|
||||||
<DL COMPACT><DT><DD>
|
|
||||||
<B>dosage @</B>
|
|
||||||
|
|
||||||
</DL>
|
|
||||||
|
|
||||||
<P>
|
|
||||||
|
|
||||||
Vote for the comics in your <B>Comics</B> directory:
|
|
||||||
<DL COMPACT><DT><DD>
|
|
||||||
<B>dosage --vote @</B>
|
|
||||||
|
|
||||||
</DL>
|
|
||||||
|
|
||||||
<P>
|
|
||||||
|
|
||||||
Retrieve the current strip of every comic that there is a module for:
|
|
||||||
<DL COMPACT><DT><DD>
|
|
||||||
<B>dosage @@</B>
|
|
||||||
|
|
||||||
</DL>
|
|
||||||
|
|
||||||
<P>
|
|
||||||
|
|
||||||
Retrieve the Penny Arcade strip for a given index:
|
|
||||||
<DL COMPACT><DT><DD>
|
|
||||||
<B>dosage pennyarcade:2004-07-22</B>
|
|
||||||
|
|
||||||
</DL>
|
|
||||||
|
|
||||||
<P>
|
|
||||||
|
|
||||||
Retrieve Calvin and Hobbes strips from a given index going backwards to
|
|
||||||
the beginning.
|
|
||||||
<DL COMPACT><DT><DD>
|
|
||||||
<B>dosage -a calvinandhobbes:2012/07/22</B>
|
|
||||||
|
|
||||||
</DL>
|
|
||||||
|
|
||||||
<P>
|
|
||||||
|
|
||||||
<A NAME="lbAI"> </A>
|
|
||||||
<H2>ENVIRONMENT</H2>
|
|
||||||
|
|
||||||
<DL COMPACT>
|
|
||||||
<DT>HTTP_PROXY<DD>
|
|
||||||
<B>dosage</B>
|
|
||||||
|
|
||||||
will use the specified HTTP proxy when downloading URL contents.
|
|
||||||
</DL>
|
|
||||||
<A NAME="lbAJ"> </A>
|
|
||||||
<H2>NOTES</H2>
|
|
||||||
|
|
||||||
Should retrieval fail on any given strip
|
|
||||||
<B>dosage</B>
|
|
||||||
|
|
||||||
will attempt to retry. However the retry information is only outputted
|
|
||||||
in the
|
|
||||||
<B>second</B>
|
|
||||||
|
|
||||||
and successive output levels.
|
|
||||||
<P>
|
|
||||||
|
|
||||||
At the time of writing, a
|
|
||||||
<B>complete</B>
|
|
||||||
|
|
||||||
Dosage collection weighs in at around 3.0GB.
|
|
||||||
<A NAME="lbAK"> </A>
|
|
||||||
<H2>RETURN VALUE</H2>
|
|
||||||
|
|
||||||
The return value greater than zero when
|
|
||||||
<DL COMPACT>
|
|
||||||
<DT>•<DD>
|
|
||||||
a program error occurred.
|
|
||||||
<DT>•<DD>
|
|
||||||
comics could not be found or downloaded
|
|
||||||
<DT>•<DD>
|
|
||||||
the program run was aborted with Ctrl-C
|
|
||||||
</DL>
|
|
||||||
<P>
|
|
||||||
|
|
||||||
Else the return value is zero.
|
|
||||||
<A NAME="lbAL"> </A>
|
|
||||||
<H2>BUGS</H2>
|
|
||||||
|
|
||||||
Users can report or view bugs, patches or feature suggestions at
|
|
||||||
<I><A HREF="https://github.com/wummel/dosage/issues">https://github.com/wummel/dosage/issues</A></I>
|
|
||||||
|
|
||||||
<A NAME="lbAM"> </A>
|
|
||||||
<H2>AUTHORS</H2>
|
|
||||||
|
|
||||||
Jonathan Jacobs, Tristan Seligmann, Bastian Kleineidam <<A HREF="mailto:bastian.kleineidam@web.de">bastian.kleineidam@web.de</A>>
|
|
||||||
<A NAME="lbAN"> </A>
|
|
||||||
<H2>COPYRIGHT</H2>
|
|
||||||
|
|
||||||
Copyright © 2004-2005 Tristan Seligmann and Jonathan Jacobs
|
|
||||||
<BR>
|
|
||||||
|
|
||||||
Copyright © 2012-2014 Bastian Kleineidam
|
|
||||||
<P>
|
|
||||||
|
|
||||||
<HR>
|
|
||||||
<A NAME="index"> </A><H2>Index</H2>
|
|
||||||
<DL>
|
|
||||||
<DT><A HREF="#lbAB">NAME</A><DD>
|
|
||||||
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
|
|
||||||
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
|
|
||||||
<DT><A HREF="#lbAE">OPTIONS</A><DD>
|
|
||||||
<DT><A HREF="#lbAF">INDEX SYNTAX</A><DD>
|
|
||||||
<DT><A HREF="#lbAG">SPECIAL SYNTAX</A><DD>
|
|
||||||
<DT><A HREF="#lbAH">EXAMPLES</A><DD>
|
|
||||||
<DT><A HREF="#lbAI">ENVIRONMENT</A><DD>
|
|
||||||
<DT><A HREF="#lbAJ">NOTES</A><DD>
|
|
||||||
<DT><A HREF="#lbAK">RETURN VALUE</A><DD>
|
|
||||||
<DT><A HREF="#lbAL">BUGS</A><DD>
|
|
||||||
<DT><A HREF="#lbAM">AUTHORS</A><DD>
|
|
||||||
<DT><A HREF="#lbAN">COPYRIGHT</A><DD>
|
|
||||||
</DL>
|
|
||||||
<HR>
|
|
||||||
This document was created by
|
|
||||||
man2html,
|
|
||||||
using the manual pages.<BR>
|
|
||||||
|
|
||||||
</BODY>
|
|
||||||
</HTML>
|
|
172
doc/dosage.txt
172
doc/dosage.txt
|
@ -1,172 +0,0 @@
|
||||||
DOSAGE(1) DOSAGE(1)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
NAME
|
|
||||||
dosage - a comic strip downloader and archiver
|
|
||||||
|
|
||||||
SYNOPSIS
|
|
||||||
dosage [options] module...
|
|
||||||
|
|
||||||
DESCRIPTION
|
|
||||||
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 updat‐
|
|
||||||
ing and maintaining collections.
|
|
||||||
|
|
||||||
OPTIONS
|
|
||||||
-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 cur‐
|
|
||||||
rent 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-sym‐
|
|
||||||
links.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://wum‐
|
|
||||||
mel.github.io/dosage/comic-index.html module At least
|
|
||||||
one valid module must be specified. A list of valid mod‐
|
|
||||||
ules 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.
|
|
||||||
|
|
||||||
INDEX SYNTAX
|
|
||||||
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. Multi‐
|
|
||||||
ple 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.
|
|
||||||
|
|
||||||
SPECIAL SYNTAX
|
|
||||||
@ 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.
|
|
||||||
|
|
||||||
EXAMPLES
|
|
||||||
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 direc‐
|
|
||||||
tory:
|
|
||||||
dosage @
|
|
||||||
|
|
||||||
Vote for the comics in your Comics directory:
|
|
||||||
dosage --vote @
|
|
||||||
|
|
||||||
Retrieve the current strip of every comic that there is a mod‐
|
|
||||||
ule 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
|
|
||||||
|
|
||||||
ENVIRONMENT
|
|
||||||
HTTP_PROXY
|
|
||||||
dosage will use the specified HTTP proxy when download‐
|
|
||||||
ing URL contents.
|
|
||||||
|
|
||||||
NOTES
|
|
||||||
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.
|
|
||||||
|
|
||||||
RETURN VALUE
|
|
||||||
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.
|
|
||||||
|
|
||||||
BUGS
|
|
||||||
Users can report or view bugs, patches or feature suggestions
|
|
||||||
at https://github.com/wummel/dosage/issues
|
|
||||||
|
|
||||||
AUTHORS
|
|
||||||
Jonathan Jacobs, Tristan Seligmann, Bastian Kleineidam <bas‐
|
|
||||||
tian.kleineidam@web.de>
|
|
||||||
|
|
||||||
COPYRIGHT
|
|
||||||
Copyright © 2004-2005 Tristan Seligmann and Jonathan Jacobs
|
|
||||||
Copyright © 2012-2014 Bastian Kleineidam
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
DOSAGE(1)
|
|
|
@ -1,23 +0,0 @@
|
||||||
Installation
|
|
||||||
-------------
|
|
||||||
The easy way with pip:
|
|
||||||
|
|
||||||
```shell
|
|
||||||
pip install dosage
|
|
||||||
```
|
|
||||||
|
|
||||||
You can invoke Dosage directly from the source code as
|
|
||||||
`./dosage`. Alternatively,
|
|
||||||
you can install Dosage using python distutils by invoking
|
|
||||||
setup.py in the root of the distribution. For example:
|
|
||||||
|
|
||||||
```shell
|
|
||||||
python setup.py install
|
|
||||||
```
|
|
||||||
|
|
||||||
or if you do not have root permissions:
|
|
||||||
|
|
||||||
```shell
|
|
||||||
python setup.py install --home=$HOME
|
|
||||||
```
|
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
# Copyright (C) 2012-2014 Bastian Kleineidam
|
|
||||||
set -e
|
|
||||||
set -u
|
|
||||||
# generates a convenience test script from failed tests
|
|
||||||
# since py.test has no way to rerun only the failed ones
|
|
||||||
|
|
||||||
script=test.sh
|
|
||||||
|
|
||||||
rm -f "$script"
|
|
||||||
echo "#!/bin/sh" > "$script"
|
|
||||||
echo "set -e" >> "$script"
|
|
||||||
egrep "^F " testresults.txt | cut -b "3-" | sort | awk '{ print "make testall PYTESTOPTS=--tb=short TESTS=" $0; }' >> "$script"
|
|
||||||
chmod 755 "$script"
|
|
Loading…
Reference in a new issue