github mansuf/mangadex-downloader v0.3.0

latest releases: v3.1.4, v3.1.3, v3.1.2...
3 years ago

The update contains

  • A lot of bug fixes
  • Added authentication support
  • Reworked how download chapter images work
  • Added CTRL + C handler
  • Added documentation
  • Added --replace option

For more detail about updates, see below.

For CLI

  • Fixed --start-chapter and --end-chapter malfunctioning #5 , thanks to @kegilbert !
  • Added --replace option, replace manga if exist.
  • Added KeyboardInterrupt (Ctrl+C) handler, so there are no messy outputs when CTRL + C is pressed. See example below.

Before

$ mangadex-dl "a96676e5-8ae2-425e-b549-7f15dd34a6d8"
[INFO] Fetching manga a96676e5-8ae2-425e-b549-7f15dd34a6d8
[INFO] Downloading cover manga Komi-san wa Komyushou Desu.
file_sizes:  55%|██████████████▏           | 1.51M/2.76M [00:00<00:00, 5.84MB/s]^CTraceback (most recent call last):
  File ".../.local/bin/mangadex-dl", line 8, in <module>
    sys.exit(main())
  File ".../.local/lib/python3.8/site-packages/mangadex_downloader/__main__.py", line 59, in main
    _main(sys.argv[1:])
  File ".../.local/lib/python3.8/site-packages/mangadex_downloader/__main__.py", line 45, in _main
    download(
  File ".../.local/lib/python3.8/site-packages/mangadex_downloader/main.py", line 84, in download
    download_file(manga.cover_art, str(cover_path))
  File ".../.local/lib/python3.8/site-packages/mangadex_downloader/utils.py", line 27, in download
    downloader.download()
  File ".../.local/lib/python3.8/site-packages/mangadex_downloader/downloader.py", line 117, in download
    writer.write(chunk)
KeyboardInterrupt

After

$ mangadex-dl "a96676e5-8ae2-425e-b549-7f15dd34a6d8"
[INFO] Fetching manga a96676e5-8ae2-425e-b549-7f15dd34a6d8
[INFO] Downloading cover manga Komi-san wa Komyushou Desu.
file_sizes:  50%|████████████▉             | 1.38M/2.76M [00:00<00:00, 3.11MB/s]
[INFO] Cleaning up...
Action interrupted by user
  • Added type checking for MangaDex url, so no more messy outputs. See example below

Before

$ mangadex-dl "invalid manga"
[ERROR] invalid manga is not valid mangadex url
Traceback (most recent call last):
  File ".../.local/bin/mangadex-dl", line 8, in <module>
    sys.exit(main())
  File ".../.local/lib/python3.8/site-packages/mangadex_downloader/__main__.py", line 59, in main
    _main(sys.argv[1:])
  File ".../.local/lib/python3.8/site-packages/mangadex_downloader/__main__.py", line 45, in _main
    download(
  File ".../.local/lib/python3.8/site-packages/mangadex_downloader/main.py", line 37, in download
    raise e from None
  File ".../.local/lib/python3.8/site-packages/mangadex_downloader/main.py", line 34, in download
    manga_id = validate_url(url)
  File ".../.local/lib/python3.8/site-packages/mangadex_downloader/utils.py", line 15, in validate_url
    raise InvalidURL('Invalid MangaDex URL or manga id')
mangadex_downloader.errors.InvalidURL: Invalid MangaDex URL or manga id

After

$ mangadex-dl "invalid manga"
usage: mangadex-dl [-h] [--folder FOLDER] [--replace] [--proxy SOCKS / HTTP Proxy] [--proxy-env] [--verbose]
                   [--start-chapter CHAPTER] [--end-chapter CHAPTER] [--use-compressed-image] [--no-oneshot-chapter]
                   [--login] [--login-username USERNAME] [--login-password PASSWORD]
                   URL
__main__.py: error: argument URL: Invalid MangaDex URL or manga id

For embedding

  • Fixed report time for MangaDex network are high numbers
  • Fixed massive reports to MangaDex network if response status_code was 206
  • HTTP server errors are now handled by the session
  • Now download() will raise InvalidManga if given manga are not exist, see example below.

Before

$ mangadex-dl "2bdf5af0-54ab-41e2-978b-58e74bdb9d15"
[INFO] Fetching manga 2bdf5af0-54ab-41e2-978b-58e74bdb9d15
Traceback (most recent call last):
  File ".../.local/lib/python3.8/site-packages/mangadex_downloader/fetcher.py", line 11, in get_manga
    raise HTTPException('Server sending %s code' % r.status_code) from None
mangadex_downloader.errors.HTTPException: Server sending 404 code

After

$ mangadex-dl "2bdf5af0-54ab-41e2-978b-58e74bdb9d15"
[INFO] Fetching manga 2bdf5af0-54ab-41e2-978b-58e74bdb9d15
Traceback (most recent call last):
  File "...\mangadex-downloader\mangadex_downloader\fetcher.py", line 9, in get_manga
    raise InvalidManga('Manga \"%s\" cannot be found' % manga_id)
mangadex_downloader.errors.InvalidManga: Manga "2bdf5af0-54ab-41e2-978b-58e74bdb9d15" cannot be found

Don't miss a new mangadex-downloader release

NewReleases is sending notifications on new releases.