Skip to content

skyme5/magzdb

Repository files navigation

magzdb - magzdb.org Downloader

Python Package CI Code Coverage Python Versions The Uncompromising Code Formatter Monthly Downloads License: MIT

Buy Me A Coffee

Installation

Install using pip

$ pip install -U magzdb

Usage

usage: magzdb [-h] [-V] -i MAGAZINE_ID [-e [EDITION [EDITION ...]]]
              [-f FILTER] [-l] [-P DIRECTORY_PREFIX] [--downloader DOWNLOADER]
              [--debug]

Magzdb.org Downloader

required arguments:
  -i MAGAZINE_ID, --id MAGAZINE_ID
                        ID of the Magazine to Download. eg. http://magzdb.org/j/<ID>.

optional arguments:
  -h, --help            show this help message and exit
  -V, --version         Print program version and exit
  -e [EDITION [EDITION ...]], --editions [EDITION [EDITION ...]]
                        Select Edition
  -f FILTER, --filter FILTER
                        Use filter. See README#Filters
  -l, --latest          Download only latest edition.
  -P DIRECTORY_PREFIX, --directory-prefix DIRECTORY_PREFIX
                        Download directory.
  --downloader DOWNLOADER
                        Use External downloader (RECOMMENDED). Currently supported: aria2, wget, curl
  --debug               Print debug information.
  --skip-download       Don't download files.

Usage Examples

Docker

docker build . -t magzdb
docker run -v $(PWD):/tmp magzdb -h

# Add alias to shell
alias magzdb="docker run -v $(PWD):/tmp magzdb"
magzdb -h

Download all editions

$ magzdb -i 1826

Filters

You can supply filter using -f, for example to download issues between 4063895 and 4063901, you can write as

$ magzdb -i 1826 -f "eid > 4063895 and eid < 4063901"

You can use eid, year in the filter expression.

More examples of filter expression
  • eid > 4063895 and eid < 4063901 or eid >= 4063895 and eid <= 4063901
  • eid >= 4063895 or eid != 4063895
  • year >= 2018, year <= 2018, year == 2018 or even year != 2018

Download only latest edition

$ magzdb -i 1826 -l

Download only latest edition with custom location magazine

$ magzdb -i 1826 -l -P magazine

Use external downloader

$ magzdb -i 1826 -l -P magazine --downloader wget

This is recommended since internal downloader does not support resuming interrupted downloads.

Python Installation Recommendation

If you don't want to install official Python to your system (global). You can install pyenv installer environment under your specific account. It's prefered method for macOS users, because High Sierra and later macOS ships with old Python 2.7.10.

Contributing

Found a bug or missing a feature you are more than welcome to contribute.

License

MIT