manrododex package

Subpackages

Submodules

manrododex.apiadapter module

class manrododex.apiadapter.ApiAdapter

Bases: object

Class to make the requests better ? well I’m lying here, I just want to objectify everything.

classmethod can_i_mauwku_requesto_senpai()
classmethod img_download(img_link, img_path, bar, dry_run)
lastu_taimo = None
classmethod make_request(method, endpoint, passed_params=None, passed_headers=None)
retries

Retry configuration.

Each retry attempt will create a new Retry object with updated values, so they can be safely reused.

Retries can be defined as a default for a pool:

retries = Retry(connect=5, read=2, redirect=5)
http = PoolManager(retries=retries)
response = http.request('GET', 'http://example.com/')

Or per-request (which overrides the default for the pool):

response = http.request('GET', 'http://example.com/', retries=Retry(10))

Retries can be disabled by passing False:

response = http.request('GET', 'http://example.com/', retries=False)

Errors will be wrapped in MaxRetryError unless retries are disabled, in which case the causing exception will be raised.

Parameters
  • total (int) –

    Total number of retries to allow. Takes precedence over other counts.

    Set to None to remove this constraint and fall back on other counts.

    Set to 0 to fail on the first retry.

    Set to False to disable and imply raise_on_redirect=False.

  • connect (int) –

    How many connection-related errors to retry on.

    These are errors raised before the request is sent to the remote server, which we assume has not triggered the server to process the request.

    Set to 0 to fail on the first retry of this type.

  • read (int) –

    How many times to retry on read errors.

    These errors are raised after the request was sent to the server, so the request may have side-effects.

    Set to 0 to fail on the first retry of this type.

  • redirect (int) –

    How many redirects to perform. Limit this to avoid infinite redirect loops.

    A redirect is a HTTP response with a status code 301, 302, 303, 307 or 308.

    Set to 0 to fail on the first retry of this type.

    Set to False to disable and imply raise_on_redirect=False.

  • status (int) –

    How many times to retry on bad status codes.

    These are retries made on responses, where status code matches status_forcelist.

    Set to 0 to fail on the first retry of this type.

  • other (int) –

    How many times to retry on other errors.

    Other errors are errors that are not connect, read, redirect or status errors. These errors might be raised after the request was sent to the server, so the request might have side-effects.

    Set to 0 to fail on the first retry of this type.

    If total is not set, it’s a good idea to set this to 0 to account for unexpected edge cases and avoid infinite retry loops.

  • allowed_methods (iterable) –

    Set of uppercased HTTP method verbs that we should retry on.

    By default, we only retry on methods which are considered to be idempotent (multiple requests with the same parameters end with the same state). See Retry.DEFAULT_ALLOWED_METHODS.

    Set to a False value to retry on any verb.

    Warning

    Previously this parameter was named method_whitelist, that usage is deprecated in v1.26.0 and will be removed in v2.0.

  • status_forcelist (iterable) –

    A set of integer HTTP status codes that we should force a retry on. A retry is initiated if the request method is in allowed_methods and the response status code is in status_forcelist.

    By default, this is disabled with None.

  • backoff_factor (float) –

    A backoff factor to apply between attempts after the second try (most errors are resolved immediately by a second try without a delay). urllib3 will sleep for:

    {backoff factor} * (2 ** ({number of total retries} - 1))
    

    seconds. If the backoff_factor is 0.1, then sleep() will sleep for [0.0s, 0.2s, 0.4s, …] between retries. It will never be longer than Retry.DEFAULT_BACKOFF_MAX.

    By default, backoff is disabled (set to 0).

  • raise_on_redirect (bool) – Whether, if the number of redirects is exhausted, to raise a MaxRetryError, or to return a response with a response code in the 3xx range.

  • raise_on_status (bool) – Similar meaning to raise_on_redirect: whether we should raise an exception, or return a response, if status falls in status_forcelist range and retries have been exhausted.

  • history (tuple) – The history of the request encountered during each call to increment(). The list is in the order the requests occurred. Each list item is of class RequestHistory.

  • respect_retry_after_header (bool) – Whether to respect Retry-After header on status codes defined as Retry.RETRY_AFTER_STATUS_CODES or not.

  • remove_headers_on_redirect (iterable) – Sequence of headers to remove from the request when a response indicating a redirect is returned before firing off the redirected request.

session = <requests.sessions.Session object>

manrododex.downloader module

manrododex.exceptions module

exception manrododex.exceptions.LangNotAvail

Bases: Exception

exception manrododex.exceptions.NoneUUID

Bases: Exception

exception manrododex.exceptions.RequestDidNotSucceed

Bases: Exception

exception manrododex.exceptions.ResultNotOk

Bases: Exception

manrododex.logger module

manrododex.logger.init(log_level)

manrododex.main module

manrododex.manga module

class manrododex.manga.Manga(url_uuid, lang)

Bases: object

The Manga uhh…yeah

url_uuid:

The url or the uuid of the manga that needs to be fetched.

lang:

the language code in which the user wants to download the manga.

get_chapters(selected_vol_chap)

Make the request to get chapters by language and add them to the chapters SimpleQueue in the following format: (vol, chap, chap_id)

get_info(title_settings)

Gets more info about the manga, like: title, altTitles, description, status, availableTranslatedLanguages, year, contentRating

title_settings : A tuple that contains 3 elements:

The first:

Type: str Description: a custom title for the manga. Default: None, which means to get it from the site.

The second:

Type: str Description: the language for the altTitle to be used. Default: None, which means to use the language of the manga.

The third:

Type: bool Description: force the usage of the default title - the one you see on the website - regardless of the language specified. Default: True

Expected response a dictionary with the following keys that interests us: title: dict altTitles: list containing a dict description: dict status: str availableTranslatedLanguages: list year: int contentRating: str

manrododex.manga_helpers module

class manrododex.manga_helpers.Chapters

Bases: SimpleQueue

class manrododex.manga_helpers.Images(maxsize=0)

Bases: Queue

manrododex.mangadex_lang_codes module

manrododex.system_helper module

class manrododex.system_helper.SysHelper(main_path, manga_title, archive_format, dry_run)

Bases: object

archive_chapter(any_to_fix)
check_if_already_exists(chapter_name)
create_chapter_dir(chapter_name)
create_main_manga_dir()
create_manga_dir()
del_archive()
del_dir()
forge_img_path(img_name, img_ext)
get_archive_content()
get_dir_content()
write_series_json(info)
manrododex.system_helper.path_exits(given_path)

Module contents