Autodl

class pyscandl.modules.autodl.Controller(output: str = '.', quiet: bool = False, tiny: bool = False)

Object responsible of the autodl part of the program, all the logic related to it passes here

__init__(output: str = '.', quiet: bool = False, tiny: bool = False)

Initializes this instance of the autodl controller. If there is no sqlite database for autodl currently in existence a new one is created at:

  • ~/.local/share/pyscandl/ for linux
  • ``%APPDATA%/pyscandl/` for windows
  • ~/Library/Preferences/pyscandl/ for mac
Parameters:
  • output (str) – location where the outputted scans should be stored
  • quiet (bool) – should the program not output any information about what it is doing in the console
  • tiny (bool) – should the name of every downloaded scan be minified and only include the chapter number and the chapter title
save()

Saves the current state of the database in the db.sqlite file and closes the connection.

add(name: str, link: str, fetcher: str, chapters: list = None, archived=False)

Adds a new scan entry to the db.sqlite file.

Parameters:
  • name (str) – name of the manga
  • link (str) – link to the page of the manga (same link that is used for the -l arg in other uses of pyscandl)
  • fetcher (str) – name of the associated fetcher
  • chapters (list[int/float/str]) – list of the already possessed chapters that wont be downloaded again (Optional)
  • archived (bool) – tell if the chapter is considered archived and if it’ll be downloaded with autodl
Raises:
edit(name: str, link: str = None, fetcher=None, chapters: list = None, archived=None)

Edits an already existing entry in the db.sqlite file. The :param name: is mandatory to find the correct entry and every other parameter specified will overwrite the existing values.

Parameters:
  • name (str) – name of the manga
  • link (str) – link to the page of the manga (same link that is used for the -l arg in other uses of pyscandl)
  • fetcher (str) – name of the associated fetcher
  • chapters (list[int/float/str]) – list of the already possessed chapters that wont be downloaded again
  • archived (bool) – tell if the chapter is considered archived and if it’ll be downloaded with autodl
Raises:

IsStandalone – the specified fetcher is a standalone fetcher

scan(name: str)

Scans the asked manga for new and non downloaded chapters and adds them to the controller queue.

Parameters:name (str) – name of the manga
Raises:MangaNotFound – the asked manga isn’t in the db
download(name: str, pdf: bool = True, keep: bool = False, image: bool = False)

Start the download of the chapters of the asked manga that have their number in the scan results.

Parameters:
  • name (str) – name of the manga
  • pdf (bool) – tell if the result should be kept as a pdf
  • keep (bool) – tell if the result should be kept as a pdf and as a collection of images
  • image (bool) – tell if the result should be kept as a collection of images
list_mangas(all=False, only=False)

Gives the list of all the names of the mangas in the db.sqlite file. if the db is empty, returns None

Parameters:
  • all (bool) – get also the archived mangas
  • only (bool) – get only the archived mangas
Return type:

list

manga_info(name)

Fet the infos about a specific manga.

Parameters:name (str) – name of the manga
Return type:tuple
Returns:name, fetcher, link, list[chapters]
delete_manga(name)

Deletes a manga from the db.sqlite file.

Parameters:name – name of the manga
Returns:confirms the deletion
Return type:bool
rm_chaps(name, *rm_chaps)

Remove the listed chapters from the asked manga

Parameters:
  • name (str) – name of he manga
  • rm_chaps (str) – list of all the chapters that have to be removed
Returns:

confirms the deletion

Return type:

bool

db_import(path: str)

Takes an external sqlite file path and put its content as the new database for pyscandl.

Parameters:path (str) – path to the .sqlite file to import as the database for autodl and manga
db_export(path: str)

Saves a copy of the current database to the folder specified.

Parameters:path (str) – path to the save folder location