2017-05-18 22:31:12 +00:00
|
|
|
# Dosage
|
2016-03-14 00:10:28 +00:00
|
|
|
|
2024-02-13 18:28:26 +00:00
|
|
|
[![CI](https://github.com/webcomics/dosage/actions/workflows/ci.yaml/badge.svg)](https://github.com/webcomics/dosage/actions/workflows/ci.yaml)
|
2016-03-14 00:10:28 +00:00
|
|
|
[![Code Climate](https://codeclimate.com/github/webcomics/dosage/badges/gpa.svg)](https://codeclimate.com/github/webcomics/dosage)
|
2017-11-28 00:53:46 +00:00
|
|
|
[![codecov](https://codecov.io/gh/webcomics/dosage/branch/master/graph/badge.svg)](https://codecov.io/gh/webcomics/dosage)
|
2024-02-13 18:28:26 +00:00
|
|
|
![Maintenance](https://img.shields.io/maintenance/yes/2024.svg)
|
2020-04-18 11:45:44 +00:00
|
|
|
![License](https://img.shields.io/github/license/webcomics/dosage)
|
2016-03-14 00:10:28 +00:00
|
|
|
|
|
|
|
Dosage is designed to keep a local copy of specific webcomics and other
|
2017-05-18 22:31:12 +00:00
|
|
|
picture-based content such as Picture of the Day sites. With the dosage
|
2016-03-14 00:10:28 +00:00
|
|
|
commandline script you can get the latest strip of a webcomic, or catch-up to
|
|
|
|
the last strip downloaded, or download a strip for a particular date/index (if
|
|
|
|
the webcomic's site layout allows this).
|
|
|
|
|
|
|
|
Multiple webcomics can be downloaded in parallel, making the update of comic
|
|
|
|
strips faster.
|
|
|
|
|
2020-04-18 11:45:44 +00:00
|
|
|
Dosage is licensed under the [MIT license](COPYING)
|
|
|
|
|
2017-05-18 22:31:12 +00:00
|
|
|
## Notice
|
|
|
|
|
|
|
|
This software is in no way intended to publically "broadcast" comic strips, it
|
|
|
|
is purely for personal use. Please be aware that by making downloaded strips
|
|
|
|
publically available (without the explicit permission of the author) you may be
|
|
|
|
infringing upon various copyrights.
|
|
|
|
|
|
|
|
Additionally, Dosage respects the robots.txt exclusion protocol. This makes
|
|
|
|
sure no content is accessed in an automatic way without consent by the
|
|
|
|
publishers.
|
|
|
|
|
2019-03-08 23:22:34 +00:00
|
|
|
In any case, you should support the authors of the comics you are downloading,
|
2017-05-18 22:31:12 +00:00
|
|
|
either by buying some of their products or even donating them some money since
|
|
|
|
they provide the comics you like and read.
|
|
|
|
|
|
|
|
If you are a publisher of comics and want Dosage to access your files,
|
|
|
|
add the following entry to your robots.txt file:
|
|
|
|
|
|
|
|
User-agent: Dosage
|
|
|
|
Allow: *
|
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
|
|
|
List available comics (ca. 3000 at the moment):
|
|
|
|
|
|
|
|
$ dosage --list
|
|
|
|
|
|
|
|
Get the latest comic of for example CalvinAndHobbes and save it in the "Comics"
|
|
|
|
directory:
|
|
|
|
|
|
|
|
$ dosage CalvinAndHobbes
|
|
|
|
|
|
|
|
If you already have downloaded several comics and want to get the latest strip
|
|
|
|
of all of them:
|
|
|
|
|
|
|
|
$ dosage @
|
|
|
|
|
|
|
|
|
|
|
|
To help others find good comics, you can vote for your favourite ones:
|
|
|
|
|
|
|
|
$ dosage --vote @
|
|
|
|
|
|
|
|
For advanced options and features execute `dosage --help`.
|
|
|
|
|
2019-12-31 14:58:52 +00:00
|
|
|
### Adult content
|
|
|
|
|
|
|
|
Some comics contain adult content and require age confirmation. These comics
|
|
|
|
can only be downloaded by using the `--adult` option, which confirms that you
|
|
|
|
are old enough to view them.
|
|
|
|
|
|
|
|
## Installation
|
|
|
|
|
|
|
|
### Dependencies
|
2017-05-18 22:31:12 +00:00
|
|
|
|
2019-12-29 22:54:47 +00:00
|
|
|
Since dosage is written in [Python](http://www.python.org/), a Python
|
2024-02-18 16:26:54 +00:00
|
|
|
installation is required: Dosage needs at least Python 3.8. Dosage requires
|
2020-02-02 22:47:19 +00:00
|
|
|
some Python modules from PyPI, so installation with `pip` is recommended.
|
2017-05-18 22:31:12 +00:00
|
|
|
|
2019-12-31 14:58:52 +00:00
|
|
|
### Using the Windows binary
|
|
|
|
|
|
|
|
Windows users can download a complete binary (including Python) from the
|
|
|
|
[release page].
|
|
|
|
|
|
|
|
[release page]: https://github.com/webcomics/dosage/releases/latest
|
|
|
|
|
|
|
|
### Install with pipx
|
2017-05-18 22:31:12 +00:00
|
|
|
|
2019-12-29 22:54:47 +00:00
|
|
|
The simplest way to install and upgrade dosage is with [pipx]. To install the
|
|
|
|
newest stable version with all optional features use:
|
2017-05-18 22:31:12 +00:00
|
|
|
|
2020-04-18 12:02:07 +00:00
|
|
|
pipx install dosage[css,bash]
|
2019-12-29 22:54:47 +00:00
|
|
|
|
|
|
|
To install the newest development version, use:
|
|
|
|
|
2020-04-18 12:02:07 +00:00
|
|
|
pipx install "dosage[css,bash] @ git+https://github.com/webcomics/dosage.git"
|
2017-05-18 22:31:12 +00:00
|
|
|
|
2019-12-29 22:54:47 +00:00
|
|
|
To upgrade such installations, just run:
|
2017-05-18 22:31:12 +00:00
|
|
|
|
2019-12-29 22:54:47 +00:00
|
|
|
pipx upgrade dosage
|
2017-05-18 22:31:12 +00:00
|
|
|
|
2019-12-31 14:58:52 +00:00
|
|
|
### Installation for development
|
|
|
|
|
2019-12-29 22:54:47 +00:00
|
|
|
If you want to run dosage directly from the source code, you should install
|
|
|
|
it in "[editable]" mode, preferable in a [virtual environment]:
|
2017-05-18 22:31:12 +00:00
|
|
|
|
2020-09-27 16:49:46 +00:00
|
|
|
pip install -e .[css,bash,dev]
|
2017-05-18 22:31:12 +00:00
|
|
|
|
2020-11-06 00:29:45 +00:00
|
|
|
|
|
|
|
After that, `dosage` should be available as a normal command.
|
2017-05-18 22:31:12 +00:00
|
|
|
|
2019-12-29 22:54:47 +00:00
|
|
|
[pipx]: https://github.com/pipxproject/pipx
|
|
|
|
[editable]: https://pip.pypa.io/en/stable/reference/pip_install/#editable-installs
|
|
|
|
[virtual environment]: https://docs.python.org/3/library/venv.html
|
2017-05-18 22:31:12 +00:00
|
|
|
|
|
|
|
## Reporting Bugs
|
|
|
|
|
|
|
|
You can report bugs, patches or requests at the [GitHub issue
|
|
|
|
tracker](https://github.com/webcomics/dosage/issues) - Dosage currently
|
|
|
|
supports a large number of comics and that number grows on a regular basis. If
|
|
|
|
you feel that there are comics that Dosage does not currently support, but
|
|
|
|
should support, please feel free to request them.
|
|
|
|
|
|
|
|
## Extending Dosage
|
|
|
|
|
|
|
|
In order to add a new webcomic, a new module class has to be created in one of
|
2023-06-02 05:33:47 +00:00
|
|
|
the *.py files in one the `dosagelib/plugins` subdirectory. Look at the
|
2017-05-18 22:31:12 +00:00
|
|
|
[documentation for adding modules](doc/adding_new_comics.md) and at
|
|
|
|
existing module classes for examples.
|
|
|
|
|
|
|
|
### Test suite status
|
|
|
|
|
2021-05-01 11:40:43 +00:00
|
|
|
Dosage has unit tests to ensure code quality. GitHub Actions are used for
|
|
|
|
continuous build and test integration. See the badges at the top of this page
|
|
|
|
for the current status.
|