Usage

Command Line Interface

Note

Maintaining that section up-to-date might take longer that the releases can happen, in that case please refer to the built-in help command with -h.

main command

The program is divided in different subcommands, the root doesn’t have any special actions except accessing the subcommands.

usage: main.py [-h] [-q] {autodl,manga,manual} ...

positional arguments:
  {autodl,manga,manual}
    autodl              auto downloader using the mangas in the json
    manga               tool to modify, add and remove mangas from the
                        automatic rss downloader mode list
    manual              manually download scans, it will not update the
                        downloaded scans json, if you plan on setting up a
                        manga with the automatic rss mode don't mix both
                        commands

optional arguments:
  -h, --help            show this help message and exit
  -q, --quiet           removes the verbose

manual command

This command allows you to manually download on or a set of chapters for a specific manga. For it to work you’ll need to specify at least a link or an id to the manga, the save format for the downloaded scan and the corresponding Fetchers to the chapter.

usage: main.py manual [-h] (-l LINK | -m MANGA) -f FETCHER
                               [-o OUTPUT] [-c CHAPTER_START]
                               [-a | -n DOWNLOAD_NUMBER | -e CHAPTER_END] [-t]
                               [-s SKIP] (-p | -k | -i)

optional arguments:
  -h, --help            show this help message and exit
  -l LINK, --link LINK  gives the link to the page with all the chapter listed
  -m MANGA, --manga MANGA
                        gives the manga name, the image fetcher will find the
                        corresponding manga
  -f FETCHER, --fetcher FETCHER
                        the name of the image links fetcher that will be used
                        for the download
  -o OUTPUT, --output OUTPUT
                        the path (absolute or relative) to the folder where to
                        save the data, the images will be stored in a
                        subfolder images with inside one folder per chapter
                        and the pdfs will be stored in a pdf subfolder
  -c CHAPTER_START, --chapter-start CHAPTER_START
                        gives the chapter to start the download on (defaults
                        at 1)
  -a, --all             downloads all the chapters from the starting point to
                        the end
  -n DOWNLOAD_NUMBER, --download-number DOWNLOAD_NUMBER
                        gives the number of chapters to download (defaults at
                        1)
  -e CHAPTER_END, --chapter-end CHAPTER_END
                        gives the ending chapter number, if the chapter
                        doesn't exists the program will stop once it's
                        surpassed
  -t, --tiny            don't write the manga name in the title (useful if
                        using ebook libraries)
  -s SKIP, --skip SKIP  skips n images before starting to download the first
                        chapter
  -p, --pdf             downloads only the pdf of the manga
  -k, --keep            downloads the pdf but also keep the images in a
                        chapter subfolder
  -i, --image           downloads only the images in a chapter subfolder and
                        don't create the pdf

The current list of image fetcher is: NHENTAI, FANFOX, MANGADEX

Example

The following command downloads to the books/ folder the chapters from 10 to 20 for the manga fullmetal alchemist on https://mangadex.org in a pdf format:

python3 main.py -l https://mangadex.org/title/286/fullmetal-alchemist -f mangadex -o books/ -c 10 -e 20 -p

autodl command

This command allow you to automatically search for new scans that are out for a set of mangas that you previously added to the database with the add sub-command. The mangas that will be searched are the ones not archived in the database.

usage: main.py autodl [-h] [-o OUTPUT] [-t] (-p | -k | -i)

optional arguments:
  -h, --help            show this help message and exit
  -o OUTPUT, --output OUTPUT
                        the path (absolute or relative) to the folder where to
                        save the data
  -t, --tiny            don't write the manga name in the title (useful if
                        using ebook libraries)
  -p, --pdf             downloads only the pdf of the manga
  -k, --keep            downloads the pdf but also keep the images in a
                        chapter subfolder
  -i, --image           downloads only the images in a chapter subfolder and
                        don't create the pdf

Example

The following command will launch the auto download in a tiny mode to the folder book/autodl/ in pdf format:

python3 main.py -o books/autodl/ -t -p

manga command

The manga command is the part that controls the database used by the autodl command. It is itself composed of a subset of commands allowing different actions in the database such as adding, removing or editing the infos of an entry.

Note

An archived manga wont be checked when using -l or with the autodl subcommand.

You can also use this command to list all the current manga in the database.

Each entry in the database consists of:

  • the name of the manga
  • a link the the manga’s main page
  • a link to the manga’s rss feed
  • the name of the fetcher used
  • the list of all the downloaded chapters
  • if the manga is archived or not
usage: main.py manga [-h] [-l | -la | -lo]
                              {add,edit,info,chaplist,delete,rmchaps} ...

positional arguments:
  {add,edit,info,chaplist,delete,rmchaps}
    add                 add a new manga to the auto downloader
    edit                modify infos for one of the already existing manga in
                        the auto downloader
    info                prints the info for the named manga in the auto
                        updater
    chaplist            lists all the dowloaded chapters (warning: can be
                        huge)
    delete              deletes the corresponding manga from the auto
                        downloader
    rmchaps             remove the listed chapters for this manga from the
                        database

optional arguments:
  -h, --help            show this help message and exit
  -l, --list            list all the non-archived mangas for autodl
  -la, --list-all       list all the mangas for autodl
  -lo, --list-only      list only the archived mangas for autodl

The current list of image fetcher is: NHENTAI, FANFOX, MANGADEX

Example

The following command lists all the names of the mangas in the database, even the archived ones:

python3 main.py manga -la

add sub-command

The add sub-command allows you to add a new entry to the database for the autodl command.

usage: main.py manga add [-h] -r RSS -l LINK -f FETCHER
                                  [-c [CHAP [CHAP ...]]] [-a]
                                  name

positional arguments:
  name                  name for the stored manga

optional arguments:
  -h, --help            show this help message and exit
  -r RSS, --rss RSS     rss link with the update notification of the manga
  -l LINK, --link LINK  link of the manga
  -f FETCHER, --fetcher FETCHER
                        name of the fetcher needed for the manga
  -c [CHAP [CHAP ...]], --chap [CHAP [CHAP ...]]
                        list of all the chapters already downloaded to be
                        added to the list for the auto-updater
  -a, --archived        create the manga as archived
Example

The following command adds the manga fullmetal alchemist from the website https://mangadex.og to the database under the name “fullmetal alchemist”:

python3 main.py manga add "fullmetal alchemist" -r https://mangadex.org/rss/wApuURnPsDZ92gX7Th4BySW8dqcVeaCM/manga_id/286 -l https://mangadex.org/title/286/fullmetal-alchemist -f mangadex

edit sub-command

The edit sub-command allows you to edit one of the already existing entries of the database.

usage: main.py manga edit [-h] [-r RSS] [-l LINK] [-f FETCHER]
                                   [-c [CHAP [CHAP ...]]] [-a | -u]
                                   name

positional arguments:
  name                  name for the stored manga

optional arguments:
  -h, --help            show this help message and exit
  -r RSS, --rss RSS     rss link with the update notification of the manga
  -l LINK, --link LINK  link of the manga
  -f FETCHER, --fetcher FETCHER
                        name of the fetcher needed for the manga
  -c [CHAP [CHAP ...]], --chap [CHAP [CHAP ...]]
                        list of all the chapters already downloaded to be
                        added to the list for the auto-updater
  -a, --archive         makes the edited manga archived
  -u, --unarchive       unarchives the edited manga
Example

The following command archives the manga saved under the name “fullmetal alchemist”:

python3 main.py manga edit "fullmetal alchemist" -a

info sub-command

The info sub-command gives you the information available about the requested database entry.

The info consists of:

  • the name of the manga
  • a link the the manga’s main page
  • a link to the manga’s rss feed
  • the name of the fetcher used
  • the list of all the downloaded chapters
  • the number of last chapter downloaded
  • the total of chapters downloaded
  • if the manga is archived or not
usage: main.py manga info [-h] name

positional arguments:
  name        name for the stored manga

optional arguments:
  -h, --help  show this help message and exit
Example

The following command gets the info about the database entry saved with the name “fullmetal alchemist”:

python3 main.py manga info "fullmetal alchemist"

chaplist sub-command

The chaplist sub-command gives you the list of all the chapters downloaded with the autodl command for this entry in the database.

usage: main.py manga chaplist [-h] name

positional arguments:
  name        name for the stored manga

optional arguments:
  -h, --help  show this help message and exit
Example

The following command gets the list of chapters downloaded for the database entry saved with the name “fullmetal alchemist”:

python3 main.py manga chaplist "fullmetal alchemist"

delete sub-command

The delete sub-command deletes the specified entry from the database.

Warning

There is no trash so every use of this command cannot be undone, if you are unsure about the deletion, backup the database first !

usage: main.py manga delete [-h] name

positional arguments:
  name        name for the stored manga

optional arguments:
  -h, --help  show this help message and exit
Example

The following command gets deletes the database entry saved with the name “fullmetal alchemist”:

python3 main.py manga delete "fullmetal alchemist"

rmchaps sub-command

The rmchap sub-command deletes all the chapters listed from the entry of the database requested.

Note

if you delete the wrong chapters you will download them again the lext time you use the autodl command as they will no longer be seen as already downloaded.

usage: main.py manga rmchaps [-h] name [chap [chap ...]]

positional arguments:
  name        name for the stored manga
  chap        remove the listed chapters for this manga from the database

optional arguments:
  -h, --help  show this help message and exit
Example

The following command removes the chapters 10, 25, 42 and 6.9 from the list of downloaded chapters for the manga saved under the name “fullmetal alchemist”:

python3 main.py manga rmchaps "fullmetal alchemist" 10 25 42 6.9