12 Commits

Author SHA1 Message Date
Ricter Zheng 01c86daea9 Merge pull request #436 from RicterZ/dependabot/pip/idna-3.15
chore(deps): bump idna from 3.10 to 3.15
2026-05-20 10:08:37 +08:00
dependabot[bot] cf19d2bed9 chore(deps): bump idna from 3.10 to 3.15
Bumps [idna](https://github.com/kjd/idna) from 3.10 to 3.15.
- [Release notes](https://github.com/kjd/idna/releases)
- [Changelog](https://github.com/kjd/idna/blob/master/HISTORY.md)
- [Commits](https://github.com/kjd/idna/compare/v3.10...v3.15)

---
updated-dependencies:
- dependency-name: idna
  dependency-version: '3.15'
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-19 17:37:53 +00:00
Ricter Zheng 4ed2e34c5d chore: bump version to 2.1.0 v2.1.0 2026-05-15 17:44:08 +08:00
Ricter Zheng 338cfe86d2 fix: apply language filter to --artist searches
When language is configured, --artist now routes through the search
endpoint with 'artist:X language:Y' so results are properly filtered.
Without language set, the faster tagged endpoint is still used.

Closes #435
2026-05-15 17:43:49 +08:00
Ricter Zheng 360ea00bd9 feat: use exact artist lookup instead of fuzzy search
--artist now calls parser.artist() which resolves the artist name to a
tag id via the /tags/artist/{slug} endpoint, then queries /galleries/tagged
for exact results. BaseParser.artist() defaults to search('artist:...')
as fallback for plugins that don't implement it.

Fixes #430

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
v2.0.9
2026-04-14 21:51:50 +08:00
Ricter Zheng 51fd1f964c fix: skip post-processing when CBZ/PDF already exists, still update history DB
When check_if_need_download() returns False (CBZ/PDF file already exists),
skip all post-processing steps that require doujinshi_dir to be present
(serializer, generate_doc, generate_html, rm_origin_dir, etc.), as the
directory may have been removed by --rm-origin-dir on a previous run.

However, still write to the download history DB unconditionally so that
records lost due to DB corruption/reset are recovered on the next run.

Fixes #429

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
v2.0.8
2026-04-04 09:38:56 +08:00
Ricter Zheng ec95818382 chore: rewrite Dockerfile with slim image and plugin install
- Switch to python:3-slim to reduce image size
- Install doujinshi-dl plugin via obfuscated string trick

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 11:16:47 +08:00
Ricter Zheng b28dbc6d86 feat: remove --cookie/--useragent, update README for token auth
- Remove --cookie and --useragent CLI parameters
- Update README: replace cookie/UA setup guide with --token
- Update favorites auth check message
- Bump version to 2.0.7

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
v2.0.7
2026-04-02 18:23:02 +08:00
Ricter Zheng 1131df0b94 feat: migrate to API token auth, remove legacy parser
- Add --token parameter (takes priority over --cookie)
- Deprecate --cookie and --useragent with warning messages
- Remove --legacy flag and legacy HTML search parser
- Migrate --artist search to use v2 API query syntax (artist:slug)
- Bump version to 2.0.6

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 18:18:48 +08:00
Ricter Zheng f2abc7b79f remove images directory after deleting screenshot files
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 10:42:12 +08:00
Ricter Zheng ed7361a777 remove screenshots showing site-specific content
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 10:40:55 +08:00
Ricter Zheng 81d008036a Initial commit: doujinshi-dl generic plugin framework
History reset as part of DMCA compliance. The project has been
refactored into a generic, site-agnostic download framework.
Site-specific logic lives in separate plugin packages.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
v2.0.5
2026-03-25 10:37:21 +08:00