Usage

Warning

The database will migrate and be changed during the next major release. There will be a command to do the migration on release, don’t forget to do it.

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: pyscandl [-h] [-q] [--version] {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
  --version             print the current software version

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: pyscandl 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, MANGADEX_FR, FRSCAN, NAVERWEBTOON, NAVERBESTCHALLENGE, NAVERCHALLENGE, WEBTOONS, WEBTOONS_FR

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:

pyscandl -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: pyscandl 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:

pyscandl -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 and to import or export a 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: pyscandl manga [-h] [-l | -la | -lo] [-e EXPORT_DB | -i IMPORT_DB] {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
  -e EXPORT_DB, --export-db EXPORT_DB
                        exports the current database into a json file
  -i IMPORT_DB, --import-db IMPORT_DB
                        imports a new database from a json file

The current list of image fetcher is: NHENTAI, FANFOX, MANGADEX, MANGADEX_FR, FRSCAN, NAVERWEBTOON, NAVERBESTCHALLENGE, NAVERCHALLENGE, WEBTOONS, WEBTOONS_FR

Listing database entries

You can use the pyscandl manga command to list the current mangas that are in the database

Example

The following command lists all the names of the non-archived mangas in the database:

pyscandl manga -l

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

pyscandl manga -lo

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

pyscandl manga -la

Importing and exporting the database

It is possible to import and export databases with the pyscandl manga command. It can be usefull to make backups or install already existing databases in a new pyscandl installation.

Example

The following command exports your current database into a db.json file in Documents/pyscandl/

pyscandl manga -e Documents/pyscandl

The following command imports the file at Documents/pyscandl/backup/db.json to the current database of pyscandl

pyscandl manga -i Documents/pyscandl/backup/db.json

add sub-command

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

usage: pyscandl manga add [-h] -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
  -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”:

pyscandl 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: pyscandl manga edit [-h] [-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
  -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”:

pyscandl 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: pyscandl 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”:

pyscandl 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: pyscandl 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”:

pyscandl 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: pyscandl 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”:

pyscandl 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: pyscandl 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”:

pyscandl manga rmchaps "fullmetal alchemist" 10 25 42 6.9