mansuf / mangadex-downloader

A command-line tool to download manga from MangaDex, written in Python.
https://mangadex-dl.mansuf.link/
MIT License
472 stars 37 forks source link

Fix default volume covers behaviour #105

Closed qx6ghqkz closed 2 months ago

qx6ghqkz commented 3 months ago

The idea

MangaDex only hosts scanlations, meaning many works have no official releases in the language people choose to read in. This means no volume covers for those languages. Most works on MangaDex only have volume covers in Japanese or Korean. This means that without specifying --volume-cover-language, it is rare for volume covers to be found if you are downloading in English, for example, and mangadex-dl falls back to using the main series cover for every volume.

The easiest solution would be to change the default --volume-cover-language to Japanese, as most scanlations on MangaDex are of Japanese manga, however this would mean altering the default behaviour of the option which might change the expected behaviour of any scripts people have already written.

Alternatively, if no volume covers are found in the --language specified, then instead of immediately falling back to the series cover, mangadex-dl should first check if there are covers in other languages in a specific order of priority, for example Japanese, Korean, Chinese Simplified.

It would be even better if mangadex-dl could instead fall back to attempting to download volume covers in the original language of the manga. For example if downloading a series with Japanese as the original language with the option --language "English" but the series has no English volume covers, mangadex-dl would attempt to download Japanese volume covers next.

Why this feature should be added to the app ?

This will ensure the correct volume covers are successfully embedded in volumes more often without having to specify a single --volume-cover-language.

mansuf commented 3 months ago

The easiest solution would be to change the default --volume-cover-language to Japanese, as most scanlations on MangaDex are of Japanese manga, however this would mean altering the default behaviour of the option which might change the expected behaviour of any scripts people have already written.

Yes, this will totally change behaviour for many scripts and a lot of people will get angry because of this.

Alternatively, if no volume covers are found in the --language specified, then instead of immediately falling back to the series cover, mangadex-dl should first check if there are covers in other languages in a specific order of priority, for example Japanese, Korean, Chinese Simplified.

I didn't think that far, but thanks for the suggestion, i will fix the default behaviour on volume covers.

The priorities will be:

If there is no volume cover from above, then it will proceed to fall back to manga cover.

mansuf commented 2 months ago

Hello, the bug has been fixed in https://github.com/mansuf/mangadex-downloader/commit/b737e4a89d9d9f0b5b55a11dfae9d41e5548331e. You can try install development version in v3.0.0 branch

Installation with Git & PyPI:

pip uninstall mangadex-downloader
pip install -U git+https://github.com/mansuf/mangadex-downloader.git@b737e4a89d9d9f0b5b55a11dfae9d41e5548331e

Installation with Github Release (Github Artifact build CI):

You can download it from here https://github.com/mansuf/mangadex-downloader/actions/runs/9442087069

If you have problem, let me know !