Skip to main content

A cli script to download and package manga into CBZ for Komga

This project has been archived.

The maintainers of this project have marked this project as archived. No new releases are expected.

Project description

mangadlmao

A cli script to download and package manga into CBZ for Komga.

What sets it apart from other scripts like this is that it creates a ComicInfo.xml for Komga and it will also download any updated chapters to get the latest versions with fixes.

File modified times are used to track which chapters have already been downloaded.

Note: The API for Semantic Versioning purposes is considered the configuration file and cli options. Every python module contained in this package is internal and subject to breaking changes at any time.

Installation

Install using pip:

python -m pip install mangadlmao

Optionally you can install the xor-cipher package to speed up decryption:

python -m pip install xor-cipher

Usage

This script is primarily meant to be used with a configuration file.

However, there are some command line arguments that can be used:

$ mangadlmao --help
Usage: mangadlmao [OPTIONS] [URL]...

  Download Manga from the configuration file or URL arguments.

Options:
  -v, --verbose       More verbose messages
  -c, --config PATH   Print or set configuration file path.
  -j, --jobs INTEGER  Number of parallel chapter page downloads.  [default: 4]
  -l, --lang TEXT     Language to download when URLs are given, can be
                      provided multiple times.
  -e, --exclude TEXT  Scanlation groups and users to exclude, can be provided
                      multiple times.
  -s, --since TEXT    Download only chapters updated after specified date
                      (eg.: 2022-02-22). If set to 'auto', only chapters newer
                      than the most recent will be downloaded. If set to
                      'null' (default), all chapters will be downloaded.
  -f, --from FLOAT    Download only chapters starting from provided number
  --help              Show this message and exit.

The default download directory is the current directory. You can change it through the configuration file.

Configuration

You can get the location of the configuration file by running mangadlmao -c or specify a custom path with mangadlmao --config=/custom/location/config.yml

The configuration file format is YAML:

---
download_directory: "."

# default "since", can be null, a date, or auto (default: auto)
# - null: download everything
# - auto: download only chapters newer than the most recently created local chapter
# - a date: eg.: 2022-02-22, only chapters updated after the date will be downloaded
since: auto

# default languages to download, can be overridden per manga
lang:
  - en

# global exclude for groups and users, can be name or id
exclude:
  - TerribleMachineTranslator
  - 33171bc6-0c2a-40d7-9cca-120ac52f09ae

manga:
  # entries with url can be either MangaDex, WeebCentral, or MangaPlus
  - url: https://mangadex.org/title/15931821-1a3a-4aee-b27c-1c95d8d5dcf1/hololive-yohane-s-twitter-shorts
    title: Hololive Shorts by Yohane
    # override default "since" setting:
    since: 2020-12-24
    # only download chapters starting from chapter number 69
    from: 69
    # override default languages (only works for MangaDex):
    lang: [en, de]
    # additional group and user excludes (only works for MangaDex):
    exclude:
      - AnotherTerribleMachineTranslator

  # entries with id are treated as MangaDex entries
  - title: Nice Manga Title
    id: aed22b2e-b544-4204-9702-cdf5cfc167de

The title key is optional but because it is used as directory name, if the name changes server-side, all chapters will be re-downloaded into a new directory.

Development

Install the package as editable and install development dependencies from requirements.txt:

python -m pip install -e .
python -m pip install -r requirements.txt

Then install pre-commit:

pre-commit install

Configure git to use the .git-blame-ignore-revs file:

git config blame.ignoreRevsFile .git-blame-ignore-revs

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mangadlmao-1.5.3.tar.gz (30.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mangadlmao-1.5.3-py3-none-any.whl (32.3 kB view details)

Uploaded Python 3

File details

Details for the file mangadlmao-1.5.3.tar.gz.

File metadata

  • Download URL: mangadlmao-1.5.3.tar.gz
  • Upload date:
  • Size: 30.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for mangadlmao-1.5.3.tar.gz
Algorithm Hash digest
SHA256 266371c139244164d07a0ff38d99fb4df40f4b7ff41646f1a52a357fcd2c67e3
MD5 89fad3fe62e4a452ba429988efe726a4
BLAKE2b-256 df1ea5ac35ae8f70411d2671d58e9412b553b1351ca6f14c838dd6553988cddd

See more details on using hashes here.

Provenance

The following attestation bundles were made for mangadlmao-1.5.3.tar.gz:

Publisher: publish-to-pypi.yml on lmaonator/mangadlmao

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mangadlmao-1.5.3-py3-none-any.whl.

File metadata

  • Download URL: mangadlmao-1.5.3-py3-none-any.whl
  • Upload date:
  • Size: 32.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for mangadlmao-1.5.3-py3-none-any.whl
Algorithm Hash digest
SHA256 12e7d093c0ec817a8784ce3839bb69492bea6b03cba6a5b415c4cb094c8b1915
MD5 5955f9d66972896a771d6dbe96d9c68b
BLAKE2b-256 9dd9ac21380c31d0e2f22863fb59d900bddaa36bc6b0de33b8a2edc0d822f5ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for mangadlmao-1.5.3-py3-none-any.whl:

Publisher: publish-to-pypi.yml on lmaonator/mangadlmao

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page