1
0
mirror of https://github.com/mikf/gallery-dl.git synced 2024-11-22 02:32:33 +01:00

update extractor test results

still not everything, but good enough for now
This commit is contained in:
Mike Fährmann 2023-11-27 18:30:53 +01:00
parent 013ca21543
commit 625e94fa7d
No known key found for this signature in database
GPG Key ID: 5680CA389D365A88
43 changed files with 398 additions and 197 deletions

View File

@ -10,25 +10,25 @@ _2chan = getattr(gallery_dl.extractor, "2chan")
__tests__ = (
{
"#url" : "https://dec.2chan.net/70/res/14565.htm",
"#url" : "https://dec.2chan.net/70/res/17222.htm",
"#category": ("", "2chan", "thread"),
"#class" : _2chan._2chanThreadExtractor,
"#pattern" : r"https://dec\.2chan\.net/70/src/\d{13}\.jpg",
"#count" : ">= 3",
"#count" : ">= 2",
"board" : "70",
"board_name": "新板提案",
"com" : str,
"fsize" : r"re:\d+",
"name" : "名無し",
"no" : r"re:1[45]\d\d\d",
"now" : r"re:22/../..\(.\)..:..:..",
"no" : r"re:17\d\d\d",
"now" : r"re:23/../..\(.\)..:..:..",
"post" : "無題",
"server" : "dec",
"thread" : "14565",
"thread" : "17222",
"tim" : r"re:^\d{13}$",
"time" : r"re:^\d{10}$",
"title" : "ヒロアカ",
"title" : "画像会話",
},
)

View File

@ -15,7 +15,7 @@ __tests__ = (
"#class" : _4chan._4chanThreadExtractor,
"#sha1_url" : "39082ad166161966d7ba8e37f2173a824eb540f0",
"#sha1_metadata": "7ae2f4049adf0d2f835eb91b6b26b7f4ec882e0a",
"#sha1_content" : "20b7b51afa51c9c31a0020a0737b889532c8d7ec",
"#sha1_content" : "551e432d52700ff3711f14752124e9af86ecbbdf",
},
{

View File

@ -12,7 +12,8 @@ __tests__ = (
"#url" : "https://archive.4plebs.org/tg/thread/54059290",
"#category": ("foolfuuka", "4plebs", "thread"),
"#class" : foolfuuka.FoolfuukaThreadExtractor,
"#sha1_url": "fd823f17b5001442b941fddcd9ec91bafedfbc79",
"#pattern" : "https://i\.4pcdn\.org/tg/1[34]\d{11}\.(jpg|png|gif)",
"#count" : 30,
},
{

View File

@ -73,7 +73,7 @@ __tests__ = (
"#category": ("", "8chan", "board"),
"#class" : _8chan._8chanBoardExtractor,
"#pattern" : _8chan._8chanThreadExtractor.pattern,
"#count" : 23,
"#count" : 27,
},
{

View File

@ -12,8 +12,8 @@ __tests__ = (
"#url" : "https://aibooru.online/posts?tags=center_frills&z=1",
"#category": ("Danbooru", "aibooru", "tag"),
"#class" : danbooru.DanbooruTagExtractor,
"#pattern" : r"https://cdn\.aibooru\.online/original/[0-9a-f]{2}/[0-9a-f]{2}/[0-9a-f]{32}\.\w+",
"#count" : ">= 3",
"#pattern" : r"https://cdn\.aibooru\.download/original/[0-9a-f]{2}/[0-9a-f]{2}/[0-9a-f]{32}\.\w+",
"#count" : ">= 50",
},
{

View File

@ -39,7 +39,7 @@ __tests__ = (
},
{
"#url" : "https://www.bbc.co.uk/programmes/b006q2x0/galleries?page=40",
"#url" : "https://www.bbc.co.uk/programmes/b006q2x0/galleries?page=25",
"#category": ("", "bbc", "programme"),
"#class" : bbc.BbcProgrammeExtractor,
"#pattern" : bbc.BbcGalleryExtractor.pattern,

View File

@ -16,10 +16,11 @@ __tests__ = (
{
"#url" : "https://booru.bcbnsfw.space/post/1599",
"#comment" : "now only available as WebP",
"#category": ("szurubooru", "bcbnsfw", "post"),
"#class" : szurubooru.SzurubooruPostExtractor,
"#pattern" : r"https://booru\.bcbnsfw\.space/data/posts/1599_53784518e92086bd\.png",
"#sha1_content": "0c38fc612ba1f03950fad31c4f80a1fccdab1096",
"#sha1_content": "55f8b8d187adc82f2dcaf2aa89db0ae21b08c0b0",
},
)

View File

@ -37,7 +37,7 @@ __tests__ = (
"id" : 8335,
"md5" : "",
"size" : 0,
"tags" : "Color Fang Food Pterodactyl discord_emote transparent",
"tags" : "Color discord_emote Fang Food Pterodactyl transparent",
"width" : 459,
},

View File

@ -21,7 +21,7 @@ __tests__ = (
"#category": ("", "comicvine", "tag"),
"#class" : comicvine.ComicvineTagExtractor,
"#pattern" : r"https://comicvine\.gamespot\.com/a/uploads/original/\d+/\d+/\d+-.+",
"#count" : ">= 450",
"#count" : ">= 400",
},
)

View File

@ -9,33 +9,53 @@ from gallery_dl.extractor import cyberdrop
__tests__ = (
{
"#url" : "https://cyberdrop.me/a/keKRjm4t",
"#comment" : "images",
"#url" : "https://cyberdrop.me/a/8uE0wQiK",
"#category": ("lolisafe", "cyberdrop", "album"),
"#class" : cyberdrop.CyberdropAlbumExtractor,
"#pattern" : r"https://fs-\d+\.cyberdrop\.to/.*\.(jpg|png|webp)$",
"#pattern" : r"https://sun\.cyberdrop\.ch/api/fc/yyK9y8xpQK5dP\?.+",
"#sha1_content": "0c8768055e4e20e7c7259608b67799171b691140",
"album_id" : "keKRjm4t",
"album_name" : "Fate (SFW)",
"album_size" : 150069254,
"count" : 62,
"date" : "dt:2020-06-18 13:14:20",
"description": "",
"id" : r"re:\w{8}",
"album_id" : "8uE0wQiK",
"album_name" : "test テスト \"&>",
"album_size" : 182,
"count" : 1,
"date" : "dt:2023-11-26 00:00:00",
"description" : "test テスト \"&>",
"extension" : "png",
"filename" : "test-テスト--22->-rwU3x9LU",
"id" : "rwU3x9LU",
"name" : "test-テスト--22->",
"num" : 1,
"size" : 182,
"slug" : "yyK9y8xpQK5dP",
"thumbnailUrl": str,
"type" : "image/png",
"url" : str,
},
{
"#url" : "https://cyberdrop.to/a/l8gIAXVD",
"#comment" : "videos",
"#url" : "https://cyberdrop.me/a/HriMgbuf",
"#category": ("lolisafe", "cyberdrop", "album"),
"#class" : cyberdrop.CyberdropAlbumExtractor,
"#pattern" : r"https://fs-\d+\.cyberdrop\.to/.*\.mp4$",
"#count" : 31,
"#pattern" : r"https://sun\.cyberdrop\.ch/api/fc/\w+\?.+",
"#count" : 3,
"album_id" : "l8gIAXVD",
"album_name": "Achelois17 videos",
"album_size": 652037121,
"date" : "dt:2020-06-16 15:40:44",
"album_id" : "HriMgbuf",
"album_name" : "animations",
"album_size" : 1090519,
"count" : 3,
"date" : "dt:2023-11-26 00:00:00",
"description" : "animated stuff",
"extension" : r"re:gif|webm",
"filename" : r"re:danbooru_\d+_\w+-\w+",
"id" : str,
"name" : r"re:danbooru_\d+_\w+",
"num" : range(1, 3),
"size" : int,
"slug" : str,
"thumbnailUrl": str,
"type" : r"re:image/gif|video/webm",
"url" : str,
},
)

View File

@ -40,7 +40,7 @@ __tests__ = (
"score" : int,
"sha512_hash" : "f16c98e2848c2f1bfff3985e8f1a54375cc49f78125391aeb80534ce011ead14e3e452a5c4bc98a66f56bdfcd07ef7800663b994f3f343c572da5ecc22a9660f",
"size" : 860914,
"source_url" : "https://www.deviantart.com/speccysy/art/Afternoon-Flight-215193985",
"source_url" : "https://web.archive.org/web/20110702164313/http://speccysy.deviantart.com:80/art/Afternoon-Flight-215193985",
"spoilered" : False,
"tag_count" : int,
"tag_ids" : list,

View File

@ -59,36 +59,42 @@ __tests__ = (
"#options" : {"metadata": "notes,pools"},
"#pattern" : r"https://static\d\.e621\.net/data/c6/8c/c68cca0643890b615f75fb2719589bff\.png",
"notes": [{
"body" : "Little Legends 2",
"created_at" : "2022-05-16T13:58:38.877-04:00",
"creator_id" : 517450,
"creator_name": "EeveeCuddler69",
"height" : 475,
"id" : 321296,
"is_active" : True,
"post_id" : 3181052,
"updated_at" : "2022-05-16T13:59:02.050-04:00",
"version" : 3,
"width" : 809,
"x" : 83,
"y" : 117,
}],
"pools": [{
"category" : "series",
"created_at" : "2022-02-17T00:29:22.669-05:00",
"creator_id" : 1077440,
"creator_name": "Yeetus90",
"description" : """* "Little Legends":/pools/27971
* Little Legends 2
* "Little Legends 3":/pools/27481""",
"id" : 27492,
"is_active" : False,
"name" : "Little Legends 2",
"post_count" : 39,
"post_ids" : list,
"updated_at" : "2022-03-27T06:30:03.382-04:00",
}],
"notes": [
{
"body" : "Little Legends 2",
"created_at" : "2022-05-16T13:58:38.877-04:00",
"creator_id" : 517450,
"creator_name": "EeveeCuddler69",
"height" : 475,
"id" : 321296,
"is_active" : True,
"post_id" : 3181052,
"updated_at" : "2022-05-16T13:59:02.050-04:00",
"version" : 3,
"width" : 809,
"x" : 83,
"y" : 117,
},
],
"pools": [
{
"category" : "series",
"created_at" : "2022-02-17T00:29:22.669-05:00",
"creator_id" : 1077440,
"creator_name": "Yeetus90",
"description" : """\
* "Little Legends":/pools/27971\r
* Little Legends 2\r
* "Little Legends 3":/pools/27481\
""",
"id" : 27492,
"is_active" : False,
"name" : "Little Legends 2",
"post_count" : 39,
"post_ids" : list,
"updated_at" : "2022-03-27T06:30:03.382-04:00",
},
],
},
{

View File

@ -19,7 +19,7 @@ __tests__ = (
"#url" : "https://horne.red/members_illust.php?id=58000",
"#category": ("Nijie", "horne", "illustration"),
"#class" : nijie.NijieIllustrationExtractor,
"#pattern" : r"https://pic\.nijie\.net/\d+/horne/\d+/\d+/\d+/illust/\d+_\d+_[0-9a-f]+_[0-9a-f]+\.png",
"#pattern" : r"https://pic\.nijie\.net/\d+/horne/\w+/\d+/\d+/illust/\d+_\d+_[0-9a-f]+_[0-9a-f]+\.png",
"#range" : "1-20",
"#count" : 20,

View File

@ -12,15 +12,7 @@ __tests__ = (
"#url" : "https://idol.sankakucomplex.com/?tags=lyumos",
"#category": ("booru", "idolcomplex", "tag"),
"#class" : idolcomplex.IdolcomplexTagExtractor,
"#pattern" : r"https://is\.sankakucomplex\.com/data/[^/]{2}/[^/]{2}/[^/]{32}\.\w+\?e=\d+&m=[^&#]+",
"#range" : "18-22",
"#count" : 5,
},
{
"#url" : "https://idol.sankakucomplex.com/?tags=order:favcount",
"#category": ("booru", "idolcomplex", "tag"),
"#class" : idolcomplex.IdolcomplexTagExtractor,
"#pattern" : r"https://i[sv]\.sankakucomplex\.com/data/[^/]{2}/[^/]{2}/[^/]{32}\.\w+\?e=\d+&m=[^&#]+",
"#range" : "18-22",
"#count" : 5,
},
@ -32,17 +24,54 @@ __tests__ = (
},
{
"#url" : "https://idol.sankakucomplex.com/pool/show/145",
"#url" : "https://idol.sankakucomplex.com/pools/show/145",
"#category": ("booru", "idolcomplex", "pool"),
"#class" : idolcomplex.IdolcomplexPoolExtractor,
"#count" : 3,
},
{
"#url" : "https://idol.sankakucomplex.com/pool/show/145",
"#category": ("booru", "idolcomplex", "pool"),
"#class" : idolcomplex.IdolcomplexPoolExtractor,
},
{
"#url" : "https://idol.sankakucomplex.com/en/posts/show/509eccbba54a43cea6b275a65b93c51d",
"#category": ("booru", "idolcomplex", "post"),
"#class" : idolcomplex.IdolcomplexPostExtractor,
"#sha1_content": "694ec2491240787d75bf5d0c75d0082b53a85afd",
"created_at" : "2017-11-24 17:01:27.696",
"date" : "dt:2017-11-24 17:01:27",
"extension" : "jpg",
"file_url" : r"re:https://is\.sankakucomplex\.com/data/50/9e/509eccbba54a43cea6b275a65b93c51d\.jpg\?",
"filename" : "509eccbba54a43cea6b275a65b93c51d",
"height" : 683,
"id" : 694215,
"md5" : "509eccbba54a43cea6b275a65b93c51d",
"rating" : "g",
"tags" : "lyumos the_witcher shani_(the_witcher) 1girl cosplay green_eyes non-asian redhead waistcoat wreath 3:2_aspect_ratio",
"tags_character": "shani_(the_witcher)",
"tags_copyright": "the_witcher",
"tags_general" : "1girl cosplay green_eyes non-asian redhead waistcoat wreath",
"tags_idol" : "lyumos",
"tags_medium" : "3:2_aspect_ratio",
"vote_average" : range(4, 5),
"vote_count" : range(25, 40),
"width" : 1024,
},
{
"#url" : "https://idol.sankakucomplex.com/posts/509eccbba54a43cea6b275a65b93c51d",
"#category": ("booru", "idolcomplex", "post"),
"#class" : idolcomplex.IdolcomplexPostExtractor,
},
{
"#url" : "https://idol.sankakucomplex.com/post/show/694215",
"#category": ("booru", "idolcomplex", "post"),
"#class" : idolcomplex.IdolcomplexPostExtractor,
"#options" : {"tags": True},
"#sha1_content": "694ec2491240787d75bf5d0c75d0082b53a85afd",
"tags_character": "shani_(the_witcher)",

View File

@ -5,6 +5,7 @@
# published by the Free Software Foundation.
from gallery_dl.extractor import imagefap
from gallery_dl import exception
__tests__ = (
@ -12,16 +13,14 @@ __tests__ = (
"#url" : "https://www.imagefap.com/gallery/7102714",
"#category": ("", "imagefap", "gallery"),
"#class" : imagefap.ImagefapGalleryExtractor,
"#pattern" : r"https://cdnh?\.imagefap\.com/images/full/\d+/\d+/\d+\.jpg",
"#sha1_metadata": "bdcb75b1e4b9dddc718f3d66e1a58afa9d81a38b",
"#sha1_content" : "694a0a57385980a6f90fbc296cadcd6c11ba2dab",
"#exception": exception.HttpError,
},
{
"#url" : "https://www.imagefap.com/gallery/7876223",
"#category": ("", "imagefap", "gallery"),
"#class" : imagefap.ImagefapGalleryExtractor,
"#pattern" : r"https://cdnh?\.imagefap\.com/images/full/\d+/\d+/\d+\.jpg",
"#pattern" : r"https://cdn[ch]?\.imagefap\.com/images/full/\d+/\d+/\d+\.jpg",
"#count" : 44,
"categories" : [
@ -90,7 +89,7 @@ __tests__ = (
"#url" : "https://www.imagefap.com/photo/1962981893",
"#category": ("", "imagefap", "image"),
"#class" : imagefap.ImagefapImageExtractor,
"#pattern" : r"https://cdnh?\.imagefap\.com/images/full/65/196/1962981893\.jpg",
"#pattern" : r"https://cdn[ch]?\.imagefap\.com/images/full/65/196/1962981893\.jpg",
"date" : "21/08/2014",
"gallery_id": 7876223,

View File

@ -25,7 +25,6 @@ __tests__ = (
"date" : "dt:2019-09-16 00:00:00",
"description" : r"re:Motions, the brand new publication by I",
"documentName" : "motions-1-2019",
"downloadable" : False,
"pageCount" : 36,
"publicationId": "d99ec95935f15091b040cb8060f05510",
"title" : "Motions by Issuu - Issue 1",

View File

@ -12,7 +12,7 @@ __tests__ = (
"#url" : "https://itaku.ee/profile/piku/gallery",
"#category": ("", "itaku", "gallery"),
"#class" : itaku.ItakuGalleryExtractor,
"#pattern" : r"https://d1wmr8tlk3viaj\.cloudfront\.net/gallery_imgs/[^/?#]+\.(jpg|png|gif)",
"#pattern" : r"https://itaku\.ee/api/media/gallery_imgs/[^/?#]+\.(jpg|png|gif)",
"#range" : "1-10",
"#count" : 10,
},
@ -21,8 +21,7 @@ __tests__ = (
"#url" : "https://itaku.ee/images/100471",
"#category": ("", "itaku", "image"),
"#class" : itaku.ItakuImageExtractor,
"#pattern" : r"https://d1wmr8tlk3viaj\.cloudfront\.net/gallery_imgs/220504_oUNIAFT\.png",
"#count" : 1,
"#urls" : "https://itaku.ee/api/media/gallery_imgs/220504_oUNIAFT.png",
"already_pinned" : None,
"blacklisted" : {
@ -38,8 +37,8 @@ __tests__ = (
"filename" : "220504_oUNIAFT",
"hotness_score" : float,
"id" : 100471,
"image" : "https://d1wmr8tlk3viaj.cloudfront.net/gallery_imgs/220504_oUNIAFT.png",
"image_xl" : "https://d1wmr8tlk3viaj.cloudfront.net/gallery_imgs/220504_oUNIAFT/lg.jpg",
"image" : "https://itaku.ee/api/media/gallery_imgs/220504_oUNIAFT.png",
"image_xl" : "https://itaku.ee/api/media/gallery_imgs/220504_oUNIAFT/lg.jpg",
"liked_by_you" : False,
"maturity_rating" : "SFW",
"num_comments" : int,
@ -47,7 +46,7 @@ __tests__ = (
"num_reshares" : int,
"obj_tags" : 136446,
"owner" : 16775,
"owner_avatar" : "https://d1wmr8tlk3viaj.cloudfront.net/profile_pics/av2022r_vKYVywc/md.jpg",
"owner_avatar" : "https://itaku.ee/api/media/profile_pics/av2022r_vKYVywc/md.jpg",
"owner_displayname": "Piku",
"owner_username" : "piku",
"reshared_by_you" : False,
@ -55,13 +54,13 @@ __tests__ = (
"tags" : list,
"tags_character" : ["hatsune_miku"],
"tags_copyright" : ["vocaloid"],
"tags_general" : [
"tags_general": [
"female",
"green_eyes",
"twintails",
"green_hair",
"flag",
"gloves",
"green_eyes",
"female",
"flag",
"racing_miku",
],
"title" : "Racing Miku 2022 Ver.",
@ -76,7 +75,7 @@ __tests__ = (
"#comment" : "video",
"#category": ("", "itaku", "image"),
"#class" : itaku.ItakuImageExtractor,
"#pattern" : r"https://d1wmr8tlk3viaj\.cloudfront\.net/gallery_vids/sleepy_af_OY5GHWw\.mp4",
"#urls" : "https://itaku.ee/api/media/gallery_vids/sleepy_af_OY5GHWw.mp4",
},
)

View File

@ -12,11 +12,11 @@ __tests__ = (
"#url" : "https://sirtartarus.itch.io/a-craft-of-mine",
"#category": ("", "itchio", "game"),
"#class" : itchio.ItchioGameExtractor,
"#pattern" : r"https://\w+\.ssl\.hwcdn\.net/upload2/game/1983311/7723751\?",
"#count" : 1,
"#pattern" : r"https://(dl.itch.zone|itchio-mirror.\w+.r2.cloudflarestorage.com)/upload2/game/1983311/\d+\?",
"#count" : 3,
"extension": "",
"filename" : "7723751",
"filename" : r"re:\d+",
"game" : {
"id" : 1983311,
"noun" : "game",

View File

@ -12,7 +12,7 @@ __tests__ = (
"#url" : "https://downloads.khinsider.com/game-soundtracks/album/horizon-riders-wii",
"#category": ("", "khinsider", "soundtrack"),
"#class" : khinsider.KhinsiderSoundtrackExtractor,
"#pattern" : r"https?://vgm(site|downloads)\.com/soundtracks/horizon-riders-wii/[^/]+/Horizon%20Riders%20Wii%20-%20Full%20Soundtrack\.mp3",
"#pattern" : r"https?://(dl\.)?vgm(site|downloads)\.com/soundtracks/horizon-riders-wii/[^/]+/Horizon%20Riders%20Wii%20-%20Full%20Soundtrack\.mp3",
"#count" : 1,
"album" : {

View File

@ -12,7 +12,7 @@ __tests__ = (
"#url" : "https://lesbian.energy/@rerorero",
"#category": ("misskey", "lesbian.energy", "user"),
"#class" : misskey.MisskeyUserExtractor,
"#pattern" : r"https://lesbian.energy/files/\w+",
"#pattern" : r"https://(lesbian.energy/files/\w+|.+/media_attachments/files/.+)",
"#range" : "1-50",
"#count" : 50,
},

View File

@ -20,12 +20,12 @@ __tests__ = (
"__typename" : "Album",
"audiences" : list,
"content" : "Hentai",
"cover" : r"re:https://\w+.luscious.net/.+/277031/",
"cover" : r"re:https://storage\.bhs\.cloud\.ovh\.net/v1/.+/277031/",
"created" : 1479625853,
"created_by" : "NTRshouldbeillegal",
"created_by" : "Hive Mind",
"date" : "dt:2016-11-20 07:10:53",
"description" : "Enjoy.",
"download_url" : r"re:/download/(r/)?824778/277031/",
"download_url" : "/download/r/25/277031/",
"genres" : list,
"id" : 277031,
"is_manga" : True,
@ -34,7 +34,7 @@ __tests__ = (
"like_status" : "none",
"modified" : int,
"permissions" : list,
"rating" : float,
"rating" : None,
"slug" : "okinami-no-koigokoro",
"status" : None,
"tags" : list,

View File

@ -97,7 +97,7 @@ __tests__ = (
"#url" : "https://mangadex.org/title/7c1e2742-a086-4fd3-a3be-701fd6cf0be9",
"#category": ("", "mangadex", "manga"),
"#class" : mangadex.MangadexMangaExtractor,
"#count" : 1,
"#count" : ">= 25",
},
{

View File

@ -12,7 +12,7 @@ __tests__ = (
"#url" : "https://misskey.io/@lithla",
"#category": ("misskey", "misskey.io", "user"),
"#class" : misskey.MisskeyUserExtractor,
"#pattern" : r"https://s\d+\.arkjp\.net/misskey/[\w-]+\.\w+",
"#pattern" : r"https://(media.misskeyusercontent.com/io|s\d+\.arkjp\.net/misskey)/[\w-]+\.\w+",
"#range" : "1-50",
"#count" : 50,
},

View File

@ -12,7 +12,7 @@ __tests__ = (
"#url" : "https://myhentaigallery.com/gallery/thumbnails/16247",
"#category": ("", "myhentaigallery", "gallery"),
"#class" : myhentaigallery.MyhentaigalleryGalleryExtractor,
"#pattern" : r"https://images.myhentaicomics\.com/imagesgallery/images/[^/]+/original/\d+\.jpg",
"#pattern" : r"https://images\.myhentaicomics\.com/mhg/images/[^/]+/original/\d+\.jpg",
"artist" : list,
"count" : 11,

View File

@ -13,8 +13,24 @@ __tests__ = (
"#category": ("", "nsfwalbum", "album"),
"#class" : nsfwalbum.NsfwalbumAlbumExtractor,
"#range" : "1-5",
"#sha1_url" : "b0481fc7fad5982da397b6359fbed8421b8ba284",
"#sha1_metadata": "e98f9b0d473c00000831618d0235863b1dd78294",
"#urls" : (
"https://img70.imgspice.com/i/05457/mio2bu5xbrxe.jpg",
"https://img70.imgspice.com/i/05457/zgpxa8kr4h1d.jpg",
"https://img70.imgspice.com/i/05457/3379nxsm9lx8.jpg",
"https://img70.imgspice.com/i/05457/pncrkhspuoa3.jpg",
"https://img70.imgspice.com/i/05457/128b2odt216a.jpg",
),
"album_id" : 401611,
"extension": "jpg",
"filename" : str,
"height" : range(1365, 2048),
"id" : int,
"models" : [],
"num" : range(1, 5),
"studio" : "Met-Art",
"title" : "Met-Art - Katherine A - Difuza 25.05.2014 (134 photos)(4368 X 2912)",
"width" : range(1365, 2048),
},
)

View File

@ -42,19 +42,19 @@ __tests__ = (
"#url" : "https://rule34.paheal.net/post/view/481609",
"#category": ("shimmie2", "paheal", "post"),
"#class" : paheal.PahealPostExtractor,
"#pattern" : r"https://tulip\.paheal\.net/_images/bbdc1c33410c2cdce7556c7990be26b7/481609%20-%20Azumanga_Daioh%20inanimate%20Osaka%20Vuvuzela\.jpg",
"#pattern" : r"https://tulip\.paheal\.net/_images/bbdc1c33410c2cdce7556c7990be26b7/481609%20-.+\.jpg",
"#sha1_content": "7b924bcf150b352ac75c9d281d061e174c851a11",
"date" : "dt:2010-06-17 15:40:23",
"extension": "jpg",
"file_url" : r"re:https://tulip.paheal.net/_images/bbdc1c33410c",
"filename" : "481609 - Azumanga_Daioh inanimate Osaka Vuvuzela",
"filename" : "481609 - Ayumu_Kasuga Azumanga_Daioh inanimate Vuvuzela",
"height" : 660,
"id" : 481609,
"md5" : "bbdc1c33410c2cdce7556c7990be26b7",
"size" : 157389,
"source" : "",
"tags" : "Azumanga_Daioh inanimate Osaka Vuvuzela",
"tags" : "Ayumu_Kasuga Azumanga_Daioh inanimate Vuvuzela",
"uploader" : "CaptainButtface",
"width" : 614,
},

View File

@ -177,7 +177,7 @@ __tests__ = (
"#category": ("", "pillowfort", "user"),
"#class" : pillowfort.PillowfortUserExtractor,
"#pattern" : r"https://img\d+\.pillowfort\.social/posts/",
"#count" : 6,
"#count" : range(10, 20),
},
)

View File

@ -39,22 +39,32 @@ __tests__ = (
},
{
"#url" : "https://www.pornhub.com/gif/33643461",
"#url" : "https://www.pornhub.com/gif/43726891",
"#category": ("", "pornhub", "gif"),
"#class" : pornhub.PornhubGifExtractor,
"#pattern" : r"https://\w+\.phncdn\.com/pics/gifs/033/643/461/33643461a\.webm",
"#pattern" : r"https://\w+\.phncdn\.com/pics/gifs/043/726/891/43726891a\.webm",
"date" : "dt:2020-10-31 00:00:00",
"date" : "dt:2023-04-20 00:00:00",
"extension": "webm",
"filename" : "33643461a",
"id" : "33643461",
"filename" : "43726891a",
"id" : "43726891",
"tags" : [
"big boobs",
"lana rhoades",
"sloppy deepthroat",
"perfect body",
"petite brunette",
"mouth fuck",
"big dick",
"natural big tits",
"deepthroat swallow",
"amateur couple",
"homemade",
"girls wanking boys",
"hardcore sex",
"babes 18 year",
],
"title" : "Big boobs",
"url" : str,
"user" : "Lana Rhoades",
"title" : "Intense sloppy blowjob of Danika Mori",
"url" : "https://el.phncdn.com/pics/gifs/043/726/891/43726891a.webm",
"user" : "Danika Mori",
},
{

View File

@ -15,10 +15,10 @@ __tests__ = (
"#pattern" : r"https://cdni\.pornpics\.com/1280/7/160/62610699/62610699_\d+_[0-9a-f]{4}\.jpg",
"categories": [
"Outdoor",
"MILF",
"Amateur",
"Sexy",
"Outdoor",
],
"channel" : "FTV MILFs",
"count" : 17,
@ -28,6 +28,9 @@ __tests__ = (
"slug" : "british-beauty-danielle-flashes-hot-breasts-ass-and-snatch-in-the-forest",
"tags" : [
"Amateur MILF",
"Nature",
"Amateur Outdoor",
"First Time",
"Sexy MILF",
],
"title" : "British beauty Danielle flashes hot breasts, ass and snatch in the forest",

View File

@ -12,7 +12,7 @@ __tests__ = (
"#url" : "https://pururin.to/gallery/38661/iowant-2",
"#category": ("", "pururin", "gallery"),
"#class" : pururin.PururinGalleryExtractor,
"#pattern" : r"https://i\.pururin\.to/38661/\d+\.jpg",
"#pattern" : r"https://i\.pururin\.[ct]o/38661/\d+\.jpg",
"title" : r"re:I ?owant 2!!",
"title_en" : r"re:I ?owant 2!!",

View File

@ -189,7 +189,7 @@ __tests__ = (
"#comment" : "preview.redd.it (#4470)",
"#category": ("", "reddit", "submission"),
"#class" : reddit.RedditSubmissionExtractor,
"#pattern" : "https://preview.redd.it/u9ud4k6xaf271.jpg?auto=webp&s=19b1334cb4409111cda136c01f7b44c2c42bf9fb",
"#urls" : "https://preview.redd.it/u9ud4k6xaf271.jpg?auto=webp&s=19b1334cb4409111cda136c01f7b44c2c42bf9fb",
},
{

View File

@ -51,10 +51,9 @@ __tests__ = (
{
"#url" : "https://www.sex.com/pin/55847384-very-nicely-animated/",
"#comment" : "pornhub embed",
"#comment" : "pornhub embed (404 gone)",
"#category": ("", "sexcom", "pin"),
"#class" : sexcom.SexcomPinExtractor,
"#pattern" : "ytdl:https://www.pornhub.com/embed/ph56ef24b6750f2",
},
{

View File

@ -58,7 +58,7 @@ __tests__ = (
"#url" : "https://skeb.jp/@kanade_cocotte",
"#category": ("", "skeb", "user"),
"#class" : skeb.SkebUserExtractor,
"#pattern" : r"https://skeb\.imgix\.net/uploads/origins/[\w-]+\?bg=%23fff&auto=format&txtfont=bold&txtshad=70&txtclr=BFFFFFFF&txtalign=middle%2Ccenter&txtsize=150&txt=SAMPLE&fm=webp&w=800&s=\w+",
"#pattern" : r"https://si\.imgix\.net/\w+/uploads/origins/[\w-]+",
"#range" : "1-5",
},

View File

@ -9,15 +9,15 @@ from gallery_dl.extractor import vichan
__tests__ = (
{
"#url" : "https://smuglo.li/a/res/1154380.html",
"#url" : "https://smuglo.li/a/res/1187531.html",
"#category": ("vichan", "smugloli", "thread"),
"#class" : vichan.VichanThreadExtractor,
"#pattern" : r"https://smug.+/a/src/\d+(-\d)?\.\w+",
"#count" : ">= 18",
"#count" : ">= 50",
"board" : "a",
"thread": "1154380",
"title" : "Mob Psycho 100 Season 3",
"thread": "1187531",
"title" : "Buta no Liver wa Kanetsu Shiro",
},
{

View File

@ -12,7 +12,7 @@ __tests__ = (
"#url" : "https://tapas.io/series/just-leave-me-be",
"#category": ("", "tapas", "series"),
"#class" : tapas.TapasSeriesExtractor,
"#pattern" : r"https://\w+\.cloudfront\.net/pc/\w\w/[0-9a-f-]+\.jpg",
"#pattern" : r"https://us-a\.tapas\.io/pc/\w\w/[0-9a-f-]+\.jpg",
"#count" : 132,
},
@ -64,7 +64,7 @@ __tests__ = (
"has_top_banner": True,
"id" : 199931,
"premium" : True,
"sale_type" : "PAID",
"sale_type" : "WAIT_OR_MUST_PAY",
"subscribed" : bool,
"thumbsup_cnt" : int,
"title" : "Tomb Raider King",

View File

@ -60,7 +60,7 @@ __tests__ = (
"http://aminoapps.com/p/92sf3z",
"kroksoc (Color)",
],
"characters": ["Reiichi❀"],
"characters": ["Reiichi❀"],
"date" : "dt:2021-07-03 20:02:02",
"hash" : "bqhGcwcnU",
"id" : "36817425",

View File

@ -26,8 +26,8 @@ __tests__ = (
"posts" : "all",
"external": True,
},
"#pattern" : r"https?://(?:$|\d+\.media\.tumblr\.com/.+_1280\.jpg|a\.tumblr\.com/tumblr_\w+)",
"#count" : 3,
"#pattern" : r"https?://(?:$|\d+\.media\.tumblr\.com/.+\.(jpg|png|gif|mp3|mp4)|v?a\.(media\.)?tumblr\.com/tumblr_\w+)",
"#count" : 27,
},
{
@ -103,7 +103,7 @@ __tests__ = (
"date-max" : "2015-04-25T00:00:00",
"date-min" : "2015-04-01T00:00:00",
},
"#count" : 316,
"#count" : 197,
},
{

View File

@ -14,7 +14,10 @@ __tests__ = (
"#class" : imagehosts.TurboimagehostImageExtractor,
"#sha1_url" : "b94de43612318771ced924cb5085976f13b3b90e",
"#sha1_metadata": "704757ca8825f51cec516ec44c1e627c1f2058ca",
"#sha1_content" : "f38b54b17cd7462e687b58d83f00fca88b1b105a",
"#sha1_content" : (
"f38b54b17cd7462e687b58d83f00fca88b1b105a",
"0c8768055e4e20e7c7259608b67799171b691140",
),
},
)

View File

@ -44,7 +44,7 @@ __tests__ = (
"tag_ids" : list,
"tags" : list,
"thumbnails_generated": True,
"updated_at" : "2022-11-27T00:34:50.483Z",
"updated_at" : "2023-07-24T03:18:48.153Z",
"upvotes" : int,
"view_url" : "https://cdn.twibooru.org/img/2020/7/8/1/full.png",
"width" : 576,

View File

@ -9,69 +9,127 @@ from gallery_dl.extractor import unsplash
__tests__ = (
{
"#url" : "https://unsplash.com/photos/lsoogGC_5dg",
"#url" : "https://unsplash.com/photos/red-wooden-cross-on-gray-concrete-pathway-between-green-trees-during-daytime-kaoHI0iHJPM",
"#category": ("", "unsplash", "image"),
"#class" : unsplash.UnsplashImageExtractor,
"#pattern" : r"https://images\.unsplash\.com/photo-1586348943529-beaae6c28db9\?ixid=\w+&ixlib=rb-4.0.3",
"#urls" : "https://images.unsplash.com/photo-1601823984263-b87b59798b70?ixid=M3wxMjA3fDB8MXxhbGx8fHx8fHx8fHwxNzAwODY2NDE4fA&ixlib=rb-4.0.3",
"alt_description": r"re:silhouette of trees near body of water ",
"blur_hash" : "LZP4uQS4jboe%#o0WCa}2doJNaaz",
"? categories" : list,
"color" : "#f3c08c",
"created_at" : "2020-04-08T12:29:42Z",
"date" : "dt:2020-04-08 12:29:42",
"description" : "The Island",
"downloads" : int,
"exif" : {
"aperture" : "11",
"exposure_time": "30",
"focal_length" : "70.0",
"iso" : 200,
"make" : "Canon",
"model" : "Canon EOS 5D Mark IV",
"alt_description": "red wooden cross on gray concrete pathway between green trees during daytime",
"blur_hash" : "LIAwhq%e4TRjXAIBMyt89GRj%fj[",
"breadcrumbs": list,
"color" : "#0c2626",
"created_at" : "2020-10-04T15:13:59Z",
"date" : "dt:2020-10-04 15:13:59",
"description": None,
"downloads" : range(50000, 300000),
"exif" : {
"aperture" : "9",
"exposure_time": "1/125",
"focal_length" : "35.0",
"iso" : 800,
"make" : "SONY",
"model" : "ILCE-7M3",
"name" : "SONY, ILCE-7M3",
},
"extension" : "jpg",
"filename" : "photo-1586348943529-beaae6c28db9",
"height" : 6272,
"id" : "lsoogGC_5dg",
"liked_by_user" : False,
"likes" : int,
"location" : {
"city" : "Beaver Dam",
"country" : "United States",
"name" : "Beaver Dam, WI 53916, USA",
"extension" : "jpg",
"filename" : "photo-1601823984263-b87b59798b70",
"height" : 5371,
"id" : "kaoHI0iHJPM",
"liked_by_user": False,
"likes" : range(1000, 10000),
"links" : dict,
"location" : {
"city" : "箱根町",
"country" : "日本",
"name" : "Hakone, 神奈川県 日本",
"position": {
"latitude" : 43.457769,
"longitude": -88.837329,
"latitude" : 35.232383,
"longitude": 139.106936,
},
},
"promoted_at" : "2020-04-08T15:12:03Z",
"sponsorship" : None,
"tags" : list,
"updated_at" : str,
"user" : {
"accepted_tos" : True,
"bio" : str,
"first_name" : "Dave",
"id" : "uMJXuywXLiU",
"instagram_username": "just_midwest_rock",
"last_name" : "Hoefler",
"location" : None,
"name" : "Dave Hoefler",
"portfolio_url" : None,
"total_collections" : int,
"total_likes" : int,
"total_photos" : int,
"twitter_username" : None,
"updated_at" : str,
"username" : "davehoefler",
"meta" : {
"index": True,
},
"views" : int,
"width" : 4480,
"plus" : False,
"premium" : False,
"promoted_at": "2020-10-05T13:04:43Z",
"public_domain": False,
"slug" : "red-wooden-cross-on-gray-concrete-pathway-between-green-trees-during-daytime-kaoHI0iHJPM",
"sponsorship": None,
"subcategory": "image",
"tags" : [
"japan",
"hakone",
"神奈川県 日本",
"torii",
"hakone shrine",
"sunrise",
"traditional",
"shrine",
"grey",
"wallpaper",
"arbour",
"garden",
"outdoors",
"gate",
],
"tags_preview": list,
"topic_submissions": {},
"topics" : [],
"updated_at" : "2023-11-24T08:17:36Z",
"urls": {
"full" : "https://images.unsplash.com/photo-1601823984263-b87b59798b70?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMjA3fDB8MXxhbGx8fHx8fHx8fHwxNzAwODY2NDE4fA&ixlib=rb-4.0.3&q=85",
"raw" : "https://images.unsplash.com/photo-1601823984263-b87b59798b70?ixid=M3wxMjA3fDB8MXxhbGx8fHx8fHx8fHwxNzAwODY2NDE4fA&ixlib=rb-4.0.3",
"regular" : "https://images.unsplash.com/photo-1601823984263-b87b59798b70?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMjA3fDB8MXxhbGx8fHx8fHx8fHwxNzAwODY2NDE4fA&ixlib=rb-4.0.3&q=80&w=1080",
"small" : "https://images.unsplash.com/photo-1601823984263-b87b59798b70?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMjA3fDB8MXxhbGx8fHx8fHx8fHwxNzAwODY2NDE4fA&ixlib=rb-4.0.3&q=80&w=400",
"small_s3": "https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1601823984263-b87b59798b70",
"thumb" : "https://images.unsplash.com/photo-1601823984263-b87b59798b70?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMjA3fDB8MXxhbGx8fHx8fHx8fHwxNzAwODY2NDE4fA&ixlib=rb-4.0.3&q=80&w=200",
},
"user": {
"accepted_tos" : True,
"bio" : "Professional photographer.\r\nBased in Japan.",
"first_name" : "Syuhei",
"for_hire" : True,
"id" : "F4HO358YSeo",
"instagram_username": "_______life_",
"last_name" : "Inoue",
"links": {
"followers": "https://api.unsplash.com/users/_______life_/followers",
"following": "https://api.unsplash.com/users/_______life_/following",
"html" : "https://unsplash.com/@_______life_",
"likes" : "https://api.unsplash.com/users/_______life_/likes",
"photos" : "https://api.unsplash.com/users/_______life_/photos",
"portfolio": "https://api.unsplash.com/users/_______life_/portfolio",
"self" : "https://api.unsplash.com/users/_______life_",
},
"location" : "Yokohama, Japan",
"name" : "Syuhei Inoue",
"portfolio_url" : "https://syuheiinoue.life/",
"profile_image" : {
"large" : "https://images.unsplash.com/profile-1601689368522-8855bbd61be6image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128",
"medium": "https://images.unsplash.com/profile-1601689368522-8855bbd61be6image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64",
"small" : "https://images.unsplash.com/profile-1601689368522-8855bbd61be6image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32",
},
"social" : {
"instagram_username": "_______life_",
"paypal_email" : None,
"portfolio_url" : "https://syuheiinoue.life/",
"twitter_username" : None,
},
"total_collections" : 2,
"total_likes" : 32,
"total_photos" : 86,
"total_promoted_photos": 24,
"twitter_username" : None,
"updated_at" : "2023-11-24T19:15:32Z",
"username" : "_______life_"
},
"views": range(2000000, 10000000),
"width": 3581,
},
{
"#url" : "https://unsplash.com/@davehoefler",
"#url" : "https://unsplash.com/@_______life_",
"#category": ("", "unsplash", "user"),
"#class" : unsplash.UnsplashUserExtractor,
"#pattern" : r"https://images\.unsplash\.com/(photo-\d+-\w+|reserve/[^/?#]+)\?ixid=\w+&ixlib=rb-4\.0\.3$",
@ -80,12 +138,11 @@ __tests__ = (
},
{
"#url" : "https://unsplash.com/@davehoefler/likes",
"#url" : "https://unsplash.com/@_______life_/likes",
"#category": ("", "unsplash", "favorite"),
"#class" : unsplash.UnsplashFavoriteExtractor,
"#pattern" : r"https://images\.unsplash\.com/(photo-\d+-\w+|reserve/[^/?#]+)\?ixid=\w+&ixlib=rb-4\.0\.3$",
"#range" : "1-30",
"#count" : 30,
"#count" : 31,
},
{

View File

@ -48,6 +48,7 @@ __tests__ = (
{
"#url" : "https://weibo.com/1758989602?tabtype=home",
"#comment" : "'tabtype=home' is broken on website itself",
"#category": ("", "weibo", "home"),
"#class" : weibo.WeiboHomeExtractor,
"#range" : "1-30",

File diff suppressed because one or more lines are too long

View File

@ -23,7 +23,7 @@ __tests__ = (
"pid" : int,
"width" : int,
"height" : int,
"shoesize" : "9 US",
"shoesize" : "10 US",
"type" : "women",
"tags" : list,
},