An open API service indexing awesome lists of open source software.

https://github.com/skyme5/magzdb

magzdb.org Downloader
https://github.com/skyme5/magzdb

downloader magazine magazines magzdb

Last synced: 5 months ago
JSON representation

magzdb.org Downloader

Awesome Lists containing this project

README

          




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

```bash
$ pip install -U magzdb
```

### Usage

```text
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/.

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

```bash
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

```bash
$ magzdb -i 1826
```

#### Filters

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

```bash
$ 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

```bash
$ magzdb -i 1826 -l
```

#### Download only latest edition with custom location `magazine`

```bash
$ magzdb -i 1826 -l -P magazine
```

#### Use external downloader

```bash
$ 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](https://www.python.org/downloads/) to your system (global).
You can install [pyenv installer](https://github.com/pyenv/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