Skip to content

DoujinHentai: Rework & Fix 404#15008

Merged
AwkwardPeak7 merged 11 commits intokeiyoushi:mainfrom
ONII404:fix/doujinhentai-search-filters-chapters(E-404)
Apr 26, 2026
Merged

DoujinHentai: Rework & Fix 404#15008
AwkwardPeak7 merged 11 commits intokeiyoushi:mainfrom
ONII404:fix/doujinhentai-search-filters-chapters(E-404)

Conversation

@ONII404
Copy link
Copy Markdown
Contributor

@ONII404 ONII404 commented Apr 22, 2026

Bump overrideVersionCode to 3 and overhaul the DoujinHentai extension to match updated site structure. Update selectors and endpoints (use lista-manga-hentai / lista-de-...), unify popular/latest handling, and implement robust search routing (text search + route-based filters for genre/artist/author/scanlator/letter/type and order). Rework manga details and chapter parsing (author/artist extraction, status, thumbnails, improved chapter naming and scanlator/date parsing using a lazy SimpleDateFormat). Add comprehensive filters (Genre, Type, Artist, Author, Scanlator) and expand genre list. Implement pageListParse with multiple strategies (embedded JSON, pre-rendered images, single-page mode) and fix thumbnail/src handling.

Closes #12238

Checklist:

  • Updated extVersionCode value in build.gradle for individual extensions
  • Updated overrideVersionCode or baseVersionCode as needed for all multisrc extensions
  • Referenced all related issues in the PR body (e.g. "Closes #xyz")
  • Added the isNsfw = true flag in build.gradle when appropriate
  • Have not changed source names
  • Have explicitly kept the id if a source's name or language were changed
  • Have tested the modifications by compiling and running the extension through Android Studio
  • Have removed web_hi_res_512.png when adding a new extension

Bump overrideVersionCode to 3 and overhaul the DoujinHentai extension to match updated site structure. Update selectors and endpoints (use lista-manga-hentai / lista-de-...), unify popular/latest handling, and implement robust search routing (text search + route-based filters for genre/artist/author/scanlator/letter/type and order). Rework manga details and chapter parsing (author/artist extraction, status, thumbnails, improved chapter naming and scanlator/date parsing using a lazy SimpleDateFormat). Add comprehensive filters (Genre, Type, Artist, Author, Scanlator) and expand genre list. Implement pageListParse with multiple strategies (embedded JSON, pre-rendered images, single-page mode) and fix thumbnail/src handling.
Copy link
Copy Markdown
Contributor

@darwin-256 darwin-256 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also Remove redundant .trim() after .text()
Jsoup .text() is already trimmed: Calling element.text().trim() is redundant

@AaronDeimos
Copy link
Copy Markdown
Contributor

Doesn't look like the site is even using Madara anymore, so it might be better to just make it an httpsource instead.

@ONII404
Copy link
Copy Markdown
Contributor Author

ONII404 commented Apr 23, 2026

I've made the changes based on your feedback @darwin-256

@ONII404
Copy link
Copy Markdown
Contributor Author

ONII404 commented Apr 23, 2026

Doesn't look like the site is even using Madara anymore, so it might be better to just make it an httpsource instead.

Should I take that as a suggestion or a requirement? This is my first contribution, so I’m not very familiar with the project yet.
I think it would be a good idea, but it would mean more work, especially since the extension is already fully functional.
image

@AwkwardPeak7
Copy link
Copy Markdown
Contributor

it isn't really more work, you have already done most of the parsing work, just need to base on HttpSource instead of Madara

Replace Madara multisrc inheritance with ParsedHttpSource for the DoujinHentai extension.
@ONII404
Copy link
Copy Markdown
Contributor Author

ONII404 commented Apr 24, 2026

I've migrated from Madara to ParsedHttpSource. @AaronDeimos @AwkwardPeak7

@darwin-256
Copy link
Copy Markdown
Contributor

I've migrated from Madara to ParsedHttpSource. @AaronDeimos @AwkwardPeak7

If you read contributing.md you should have seen that parsedhttpsource is deprecated and you should use httpsource instead

Comment thread src/es/doujinhentai/build.gradle Outdated
Comment thread src/es/doujinhentai/build.gradle Outdated
Filters migrated to a new file `DoujinHentaiFilters.kt`
ONII404 and others added 6 commits April 24, 2026 14:46
…nhentai/DoujinHentai.kt


added: import eu.kanade.tachiyomi.util.asJsoup

Co-authored-by: Aaron <168236779+AaronDeimos@users.noreply.github.com>
Replace the custom Response.asJsoup with the shared util.asJsoup and remove the unused Jsoup import. Make mangaFromElement nullable and return null when title is missing, then filter out nulls with mapNotNull in listings and chapter parsing. Adjust manga detail title extraction and other mappings to reduce thrown exceptions and skip invalid elements.
Introduce a private Elements.texts() extension to DRY up extraction of non-blank element texts and use it for authors, artists and categories. Refactor tag extraction to trim leading '#' and filter blanks, and switch script parsing to use asSequence() to avoid allocating an intermediate list. Add the necessary import and move the helper to the file end for reuse and clearer code.
Increment extVersionCode from 49 to 50 in src/es/doujinhentai/build.gradle to update the app version code for DoujinHentai. No other behavior or metadata changes were made.
@AwkwardPeak7 AwkwardPeak7 merged commit 27167c5 into keiyoushi:main Apr 26, 2026
3 checks passed
@github-actions github-actions Bot locked as resolved and limited conversation to collaborators Apr 29, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

DoujinHentai: HTTP 404 error

4 participants