Skip to content

Feat/handle mangadex - #25

Merged
EliasLd merged 16 commits into
mainfrom
feat/handle_mangadex
Sep 18, 2026
Merged

EliasLd merged 16 commits into
mainfrom
feat/handle_mangadex

Conversation

@EliasLd

@EliasLd EliasLd commented Sep 18, 2026

Copy link
Copy Markdown
Owner

Summary

This PR adds full MangaDex support to goweeb and improves chapter/volume range handling across both the CLI and TUI.

MangaDex introduces a few constraints that existing providers did not have, such as language-based scan selection, provider-specific image request headers, and non-contiguous chapter availability. This branch adds the required provider implementation while also making range selection more generic and reusable for future providers.

Changes

MangaDex provider

  • Add MangaDex catalog search using the public API.
  • Use available translation languages as scan paths.
  • Fetch and paginate chapter feeds by selected language.
  • Deduplicate duplicate chapter uploads.
  • Fetch page URLs through MangaDex@Home.
  • Support MangaDex-specific image request headers.
  • Add readable language labels for supported translation codes.
  • Register MangaDex as a supported provider and document it in the provider table.

Flexible chapter and volume ranges

  • Add support for non-contiguous available ranges.

  • Display available chapter/volume ranges instead of only the total entry count.

  • Add multi-range input support, including formats such as:

    • 10
    • 1-10
    • 10-
    • -10
    • 1-10,20-30
    • 1,5,10
  • Automatically skip unavailable entries inside a requested range instead of treating gaps as errors.

  • Share the same range parsing and filtering logic between the CLI and TUI.

  • Improve CLI help output for the new range syntax.

  • Update the TUI to validate selections against the actual discovered entries before starting a download.

Notes

MangaDex chapters that are only linked to external services such as MangaPlus are currently ignored. This provider only downloads chapters whose pages are hosted through MangaDex/MangaDex@Home.

Decimal chapter numbers such as 3.5 are also not handled yet and are currently skipped.

Both limitations can be addressed separately in future updates.

This implementation doesn't handle decimal chapters (e.g 2.5) yet.
Uses endpoints described at api.mangadex.org

A different request header will be used accordingly to the documentation
Add multi-range selection and display available chapter ranges.

Unify CLI and TUI chapter filtering around RangeSelection.
Store discovered entries and validate multi-range selections before download.

Pass unified RangeSelection directly to the download workflow.
@EliasLd
EliasLd merged commit 11eb6ed into main Sep 18, 2026
2 checks passed
@EliasLd
EliasLd deleted the feat/handle_mangadex branch September 19, 2026 12:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant