Commit Graph

1510 Commits

Author SHA1 Message Date
Mike Fährmann
afa720d3e0 [hentaifoundry] add 'html' description test case 2025-08-02 17:29:07 +02:00
Marcus Minhorst
65fbd3972d [picstate] add 'image' extractor (#7946) 2025-08-01 07:48:00 +02:00
missionfloyd
952fcb1b8b [xasiat] add support (#4161 #5929 #7934)
* [xasiat] Album extractor
* [xasiat] Tags, categories, Models
* [xasiat] Tests
* update 'album' extractor
    - provide 'album_id' metadata
    - use redirected 'album_url' value
    - update metadata extraction in general
* extend test result data
2025-07-30 19:38:33 +02:00
Mike Fährmann
3b93184997 [twitter] fix potential 'UnboundLocalError' (#7932)
this happens with Tweets containing both images and video
when 'videos' are disabled.
2025-07-30 16:45:48 +02:00
Mike Fährmann
e5c91d33ec [blogger] fix video extraction (#7892) 2025-07-30 16:45:29 +02:00
Mike Fährmann
a0b96bf0d6 [booth] extract 'shop[id]' & 'shop[uuid]' metadata (#7920) 2025-07-29 20:16:58 +02:00
Mike Fährmann
78f81ee48a [booth] add 'shop' extractor (#7920) 2025-07-29 16:52:27 +02:00
Mike Fährmann
8aa2fe33d5 [booth] add 'item' extractor (#7920) 2025-07-29 16:52:27 +02:00
Mike Fährmann
a26d71c228 [cien] provide 'author['id']' metadata (#6582)
https://github.com/mikf/gallery-dl/issues/6582#issuecomment-3131187851
2025-07-29 16:52:26 +02:00
Mike Fährmann
7faa46b90f [misskey] support 'misskey.art' (#7923) 2025-07-28 16:39:43 +02:00
Mike Fährmann
b986edd1ed [dankefuerslesen] extract more metadata (#7915)
- author
- artist
- description
2025-07-28 10:43:13 +02:00
Mike Fährmann
013307af80 [itaku] add 'bookmarks' extractor (#7707) 2025-07-27 19:35:56 +02:00
Mike Fährmann
022f216217 [itaku] add 'posts' extractors (#7707) 2025-07-27 19:30:44 +02:00
CautiouslyKate
ed2d07181a [kemono] update extractor to use new domains (#7902 #7907 #7904)
* Update kemono.py
* Update coomer.py
* Update kemono.py
* Fixed TypeError
    - Fixed a regex mistake I made
* Make legacy domains resolve as current domains
* Update gallery_dl/extractor/kemono.py
* remove legacy .su domain support
* fixed accidental regex change
* update docs/supportedsites
* update test results
    - (re)add legacy domain URLs
    - update URL pattern TLDs
* restore support for '.su' TLDs

---------

Co-authored-by: Mike Fährmann <mike_faehrmann@web.de>
2025-07-27 10:10:35 +02:00
cenodis
8b6fffe866 [pp:exec] use 'False' as default for 'start_new_session' to avoid TypeError (#7899)
in Python <= 3.11

* Use False as default instead of None to avoid TypeError
* Update postprocessor tests
2025-07-27 09:41:27 +02:00
Mike Fährmann
9872a9eae3 [tests/postprocessor] fix 'TypeError' when logging an error (#6582)
https://github.com/mikf/gallery-dl/issues/6582#issuecomment-3121493719
2025-07-27 09:37:06 +02:00
Mike Fährmann
f627717f21 [tests/results] StopExtraction -> AbortExtraction
and update some test results
2025-07-26 08:40:20 +02:00
Mike Fährmann
aa885d8d7c [tests/resulta] add 'pixiv' extended user metadata test 2025-07-25 23:17:15 +02:00
Mike Fährmann
cec712ab04 [tests/results] add 'itaku' following/-ers tests 2025-07-25 23:15:58 +02:00
Mike Fährmann
98f36fb0ac [itaku] implement 'include' option (#7707) 2025-07-25 19:24:56 +02:00
Mike Fährmann
d99b2ab47a [imgadult] add 'image' extractor (#7893) 2025-07-25 18:58:29 +02:00
Mike Fährmann
3eb0b28d6d [facebook] implement 'include' option & add 'avatar' extractor (#7848)
rename 'profile' extractor to 'photos'
2025-07-25 18:20:05 +02:00
Mike Fährmann
2c85f4a32d [civitai] change default includes to 'user-images,user-videos' (#7874)
less metadata by default, but grabs *all* user files
2025-07-24 18:10:45 +02:00
Mike Fährmann
20af1e2508 [bilibili] warn about blocked articles (#7880) 2025-07-24 16:24:04 +02:00
Mike Fährmann
aae85fef61 [readcomiconline] force 'One page' Reading mode (#7890) 2025-07-24 15:53:39 +02:00
Mike Fährmann
aa6c2dcbac [behance] provide 'creator[name]' metadata (#7885) 2025-07-24 15:30:51 +02:00
Mike Fährmann
28205f47b0 [tests/results] fix '#log' checks for URLs raising exceptions 2025-07-24 09:18:58 +02:00
Mike Fährmann
f39c8b125f [4chan] detect files containing only null bytes (#7883) 2025-07-24 09:11:52 +02:00
Mike Fährmann
b2a354f0d2 [urlgalleries] do not strip query parameters (#7888)
fixes regression introduced in fc06243b89
2025-07-24 08:46:59 +02:00
Farahat
cf2e5a1619 [leakgallery] add support (#7872)
* add new extractor for leakgallery.com

    Added support for downloading photo and video posts from leakgallery.com.

    Supports:
    * Individual post URLs
    * User profile URLs with pagination via AJAX
    * Optional type/sort filters (e.g. /Photos/MostRecent)
    * Proper file extension handling
    * Creator-based folder structure
    * Compatibility with --download-archive

    Tested locally and functional, but may still need review or improvement.
    
* [leakgallery] add support
    Added leakgallery to extractor module imports so it's recognized and used.
* [leakgallery] update extractor structure
    - Refactored using LeakGalleryExtractorBase to remove duplication
    - Moved init logic into items() using self.groups
    - Replaced re with text.re as per upstream guidance
    - Added creator fallback and media deduplication
    - Aligned structure with gallery-dl maintainer review tips
* [leakgallery] add support
    - Added leakgallery entry to supportedsites.md
    - Includes post, user, trending, and most-liked subcategories
* add exported extractor results
* [leakgallery] fix flake8 style issues
    Cleaned up code to comply with flake8 rules, especially:
    - removed unused imports
    - split long lines >79 chars
    - ensured newline at EOF
    No functional changes made; purely formatting to satisfy CI checks.
* [tests] update extractor results
* [leakgallery] fix flake8 style issues (part 2)
    Fix remaining flake8 issues in leakgallery.py:
    - Reformat line breaks to avoid W503 (line break before binary operator)
    - Wrap long lines to respect E501 (line too long > 79 characters)
    - Cleaned up exception logging for better clarity
    - Confirmed all flake8 checks now pass successfully
    This superseedes the previous commit which partially fixed formatting violations.
* [leakgallery] fix flake8 style issues (part 3)
* [leakgallery] rename extractor classes
* [tests] update extractor results
* [tests] rename extractor results
* [leakgallery] rename extractor classes (part 2)
* [leakgallery] rename example
* update docs/supportedsites
* update test results
    and convert line endings to '\n'
* update
    - convert line endings to '\n'
    - use _pagination method
    - fix logging calls
* return more metadata for _pagination() results
2025-07-22 22:50:25 +02:00
Mike Fährmann
afc5b9c9c6 [tests/extractor] improve example URL mismatch error message (#7872) 2025-07-22 20:57:54 +02:00
Mike Fährmann
a08f4aa1c0 [nhentai] provide 'gallery_id' for pagination results (#7868) 2025-07-22 20:57:54 +02:00
Mike Fährmann
ea61f432f2 [formatter/jinja] add support for options (#1390)
- custom filters
- custom tests
- policies
- Environment.__init__() arguments
2025-07-22 20:57:54 +02:00
Mike Fährmann
f0de034889 [exception] rename 'LoginRequired' to 'AuthRequired' 2025-07-22 20:57:54 +02:00
Mike Fährmann
9bbfb09952 [pp:exec] add 'session' option (#6582)
https://github.com/mikf/gallery-dl/issues/6582#issuecomment-3067297033
2025-07-20 19:55:33 +02:00
Mike Fährmann
fc06243b89 [urlgalleries] fix extraction (#7858) 2025-07-20 19:55:33 +02:00
Mike Fährmann
240f958707 [formatter] add 'W' conversion - sanitize whitespace (#6582)
https://github.com/mikf/gallery-dl/issues/6582#issuecomment-3090777073
2025-07-19 21:44:55 +02:00
Mike Fährmann
7bb4053396 [text] add 'sanitize_whitespace()' 2025-07-19 20:49:48 +02:00
Mike Fährmann
272df323f3 [civitai] ensure 'file' & 'post' data has a 'date' value (#7548)
https://github.com/mikf/gallery-dl/issues/7548#issuecomment-3091492518
2025-07-19 18:30:29 +02:00
Mike Fährmann
0b991148a1 [civitai] rename 'generate' to 'generated' (#7796) 2025-07-19 18:30:29 +02:00
Mike Fährmann
b0a33d402d [sexcom] update 'search' extractor (#7807) 2025-07-18 21:02:32 +02:00
Mike Fährmann
22ec1aad9a [pornhub] fix 'gallery' extractor (#7842)
- update API endpoint
- extract and send 'token' parameter
2025-07-18 19:08:55 +02:00
Mike Fährmann
67a4472bc2 [civitai] add 'generate' extractor (#7796) 2025-07-18 18:34:17 +02:00
Mike Fährmann
1561284815 [madokami] add 'manga' extractor (#7828) 2025-07-17 20:40:26 +02:00
Mike Fährmann
87cf635f6e [wikimedia] add missing 'self' argument when calling 'prepare()' (#7835)
fixes regression introduced in 811b665e33
2025-07-17 16:30:36 +02:00
Mike Fährmann
f25c5f4b0c [formatter] add basic 'Jinja2' template support (#1390) 2025-07-16 23:23:58 +02:00
Mike Fährmann
b66a476cab [komikcast] update domain to 'komikcast.li' 2025-07-15 08:12:55 +02:00
Mike Fährmann
bbe7faed21 [iwara] update
- add 'include' docs
- simplify code for different result types
- provide 'count' and 'num' metadata
- remove 'search_type' metadata
2025-07-14 18:47:14 +02:00
NecRaul
089f815560 [motherless] Add group support (#7774 #7787)
* [motherless] Add group support
* [motherless] Update old unit tests
* [motherless] Add new unit tests
* [motherless] Update docs
2025-07-14 16:50:07 +02:00
NecRaul
a7ebb835ea [iwara] Add support (#2652 #5840 #7785)
* [iwara] Add initial support
* [iwara] Add search support
* [iwara] Code cleanup
* [iwara] Small fixes and additions
* [iwara] Add tag support
* [iwara] Add mime-type to metadata
* [iwara] Refactor patterns/matching using urllib
* [iwara] Add unit tests
* [iwara] Update docs
* [iwara] Fix linting on older Python versions
* [iwara] update 'IwaraAPI' interface class
    - define endpoints inside methods
    - implement and use _call() and _pagination()
    - cache auth tokens
* [iwara] split and rename 'profile' extractor
    TODO:
    - update test results
    - simplify code
* [iwara] simplify '_user_params()' usage
* [iwara] update 'video' extractor
    and move user data extraction into 'yield_video'
* [iwara] update 'image' extractor
    and move user info extraction into 'yield_image()'
* [iwara] update 'playlist' extractor
* [iwara] update 'search' extractor
* [iwara] update 'tag' extractor
* [iwara] simplify 'yield_image' usage
    perform API calls to get full 'files' list inside the function
* [iwara] add video "image" test
* [iwara] provide 'date' metadata
* [iwara] simplify 'source()'
    remove urllib.parse usage
* [iwara] small optimizations
    * get("key", {}) -> get("key") or {}
    * split("…", 1) -> partition("…")
    * use f-strings for all patterns
* [iwara] add missing 'keyarg=1' to profile() memcache decorator
* [tests/iwara] update results
* [iwara] extract more 'user' metadata
* [iwara] update default format strings
    include 'date' in filenames to order them chronologically
* [iwara] restructure image/video handling
    - use less generators
    - make processing individual media items non-fatal
* [iwara] fix login and token handling
* [iwara] add 'favorite' extractor
* [iwara] add 'following' and 'followers' extractors

---------

Co-authored-by: Mike Fährmann <mike_faehrmann@web.de>
2025-07-13 21:30:25 +02:00