update extractor test results

pull/2757/head
Mike Fährmann 2 years ago
parent 539e3bbed9
commit c6a9bab019
No known key found for this signature in database
GPG Key ID: 5680CA389D365A88

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
# Copyright 2017-2021 Mike Fährmann
# Copyright 2017-2022 Mike Fährmann
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
@ -13,7 +13,7 @@ from .. import text
class _2chanThreadExtractor(Extractor):
"""Extractor for images from threads on www.2chan.net"""
"""Extractor for 2chan threads"""
category = "2chan"
subcategory = "thread"
directory_fmt = ("{category}", "{board_name}", "{thread}")
@ -21,9 +21,24 @@ class _2chanThreadExtractor(Extractor):
archive_fmt = "{board}_{thread}_{tim}"
url_fmt = "https://{server}.2chan.net/{board}/src/{filename}"
pattern = r"(?:https?://)?([\w-]+)\.2chan\.net/([^/]+)/res/(\d+)"
test = ("http://dec.2chan.net/70/res/4752.htm", {
"url": "f49aa31340e9a3429226af24e19e01f5b819ca1f",
"keyword": "44599c21b248e79692b2eb2da12699bd0ed5640a",
test = ("https://dec.2chan.net/70/res/14565.htm", {
"pattern": r"https://dec\.2chan\.net/70/src/\d{13}\.jpg",
"count": ">= 3",
"keyword": {
"board": "70",
"board_name": "新板提案",
"com": str,
"fsize": r"re:\d+",
"name": "名無し",
"no": r"re:1[45]\d\d\d",
"now": r"re:22/../..\(.\)..:..:..",
"post": "無題",
"server": "dec",
"thread": "14565",
"tim": r"re:^\d{13}$",
"time": r"re:^\d{10}$",
"title": "ヒロアカ板"
},
})
def __init__(self, match):

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
# Copyright 2019-2021 Mike Fährmann
# Copyright 2019-2022 Mike Fährmann
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
@ -261,7 +261,7 @@ class _500pxImageExtractor(_500pxExtractor):
"tags": list,
"taken_at": "2017-05-04T17:36:51+00:00",
"times_viewed": int,
"url": "/photo/222049255/Queen-Of-Coasts-by-Olesya-Nabieva",
"url": "/photo/222049255/Queen-Of-Coasts-by-Alice-Nabieva",
"user": dict,
"user_id": 12847235,
"votes_count": int,

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
# Copyright 2020 Mike Fährmann
# Copyright 2020-2022 Mike Fährmann
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
@ -26,10 +26,10 @@ class _8kunThreadExtractor(Extractor):
"count": ">= 8",
}),
# old-style file URLs (#1101)
("https://8kun.top/d/res/13258.html", {
"pattern": r"https://media\.8kun\.top/d/src/\d+(-\d)?\.\w+",
"range": "1-20",
}),
# ("https://8kun.top/d/res/13258.html", {
# "pattern": r"https://media\.8kun\.top/d/src/\d+(-\d)?\.\w+",
# "range": "1-20",
# }),
)
def __init__(self, match):

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
# Copyright 2019-2021 Mike Fährmann
# Copyright 2019-2022 Mike Fährmann
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
@ -55,7 +55,7 @@ class _8musesAlbumExtractor(Extractor):
},
}),
# custom sorting
("https://www.8muses.com/comics/album/Fakku-Comics/9?sort=az", {
("https://www.8muses.com/comics/album/Fakku-Comics/11?sort=az", {
"count": ">= 70",
"keyword": {"name": r"re:^[R-Zr-z]"},
}),

@ -147,14 +147,15 @@ class ArtstationUserExtractor(ArtstationExtractor):
r"/(?!artwork|projects|search)([^/?#]+)(?:/albums/all)?"
r"|((?!www)\w+)\.artstation\.com(?:/projects)?)/?$")
test = (
("https://www.artstation.com/gaerikim/", {
("https://www.artstation.com/sungchoi/", {
"pattern": r"https://\w+\.artstation\.com/p/assets/images"
r"/images/\d+/\d+/\d+/(4k|large|medium|small)/[^/]+",
"count": ">= 6",
"range": "1-10",
"count": ">= 10",
}),
("https://www.artstation.com/gaerikim/albums/all/"),
("https://gaerikim.artstation.com/"),
("https://gaerikim.artstation.com/projects/"),
("https://www.artstation.com/sungchoi/albums/all/"),
("https://sungchoi.artstation.com/"),
("https://sungchoi.artstation.com/projects/"),
)
def projects(self):
@ -400,7 +401,7 @@ class ArtstationFollowingExtractor(ArtstationExtractor):
subcategory = "following"
pattern = (r"(?:https?://)?(?:www\.)?artstation\.com"
r"/(?!artwork|projects|search)([^/?#]+)/following")
test = ("https://www.artstation.com/gaerikim/following", {
test = ("https://www.artstation.com/sungchoi/following", {
"pattern": ArtstationUserExtractor.pattern,
"count": ">= 50",
})

@ -136,9 +136,9 @@ class BloggerPostExtractor(BloggerExtractor):
"pattern": r"https://.+\.googlevideo\.com/videoplayback",
}),
# image URLs with width/height (#1061)
("https://aaaninja.blogspot.com/2020/08/altera-boob-press-2.html", {
"pattern": r"https://1.bp.blogspot.com/.+/s0/altera_.+png",
}),
# ("https://aaaninja.blogspot.com/2020/08/altera-boob-press-2.html", {
# "pattern": r"https://1.bp.blogspot.com/.+/s0/altera_.+png",
# }),
# new image domain (#2204)
(("https://randomthingsthroughmyletterbox.blogspot.com/2022/01"
"/bitter-flowers-by-gunnar-staalesen-blog.html"), {

@ -181,7 +181,8 @@ class DanbooruTagExtractor(DanbooruExtractor):
# 'external' option (#1747)
("https://danbooru.donmai.us/posts?tags=pixiv_id%3A1476533", {
"options": (("external", True),),
"pattern": r"http://img16.pixiv.net/img/takaraakihito/1476533.jpg",
"pattern": r"https://i\.pximg\.net/img-original/img"
r"/2008/08/28/02/35/48/1476533_p0\.jpg",
}),
("https://e621.net/posts?tags=anry", {
"url": "8021e5ea28d47c474c1ffc9bd44863c4d45700ba",

@ -671,12 +671,12 @@ class DeviantartCollectionExtractor(DeviantartExtractor):
test = (
(("https://www.deviantart.com/pencilshadings/favourites"
"/70595441/3D-Favorites"), {
"count": ">= 20",
"count": ">= 15",
"options": (("original", False),),
}),
(("https://www.deviantart.com/pencilshadings/favourites"
"/F050486B-CB62-3C66-87FB-1105A7F6379F/3D Favorites"), {
"count": ">= 20",
"count": ">= 15",
"options": (("original", False),),
}),
("https://pencilshadings.deviantart.com"
@ -876,8 +876,9 @@ class DeviantartDeviationExtractor(DeviantartExtractor):
}),
# GIF (#242)
(("https://www.deviantart.com/skatergators/art/COM-Moni-781571783"), {
"pattern": (r"https://images-wixmp-\w+\.wixmp\.com"
r"/f/[^/]+/[^.]+\.gif\?token="),
"pattern": r"https://wixmp-\w+\.wixmp\.com/f/03fd2413-efe9-4e5c-"
r"8734-2b72605b3fbb/dcxbsnb-1bbf0b38-42af-4070-8878-"
r"f30961955bec\.gif\?token=ey...",
}),
# Flash animation with GIF preview (#1731)
("https://www.deviantart.com/yuumei/art/Flash-Comic-214724929", {

@ -122,7 +122,7 @@ class ExhentaiGalleryExtractor(ExhentaiExtractor):
"date": "dt:2018-03-18 20:15:00",
"eh_category": "Non-H",
"expunged": False,
"favorites": "21",
"favorites": r"re:^[12]\d$",
"filecount": "4",
"filesize": 1488978,
"gid": 1200119,

@ -149,7 +149,7 @@ class GelbooruV02TagExtractor(GelbooruV02Extractor):
pattern = BASE_PATTERN + r"/index\.php\?page=post&s=list&tags=([^&#]+)"
test = (
("https://rule34.xxx/index.php?page=post&s=list&tags=danraku", {
"content": "622e80be3f496672c44aab5c47fbc6941c61bc79",
"content": "5c6ae9ee13e6d4bc9cb8bdce224c84e67fbfa36c",
"pattern": r"https?://.*rule34\.xxx/images/\d+/[0-9a-f]+\.jpg",
"count": 2,
}),

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
# Copyright 2020-2021 Mike Fährmann
# Copyright 2020-2022 Mike Fährmann
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
@ -22,12 +22,12 @@ class HentaihandGalleryExtractor(GalleryExtractor):
(("https://hentaihand.com/en/comic/c75-takumi-na-muchi-choudenji-hou-"
"no-aishi-kata-how-to-love-a-super-electromagnetic-gun-toaru-kagaku-"
"no-railgun-english"), {
"pattern": r"https://cdn.hentaihand.com/.*/images/360468/\d+.jpg$",
"pattern": r"https://cdn.hentaihand.com/.*/images/37387/\d+.jpg$",
"count": 50,
"keyword": {
"artists" : ["Takumi Na Muchi"],
"date" : "dt:2014-06-28 00:00:00",
"gallery_id": 360468,
"gallery_id": 37387,
"lang" : "en",
"language" : "English",
"parodies" : ["Toaru Kagaku No Railgun"],

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
# Copyright 2016-2021 Mike Fährmann
# Copyright 2016-2022 Mike Fährmann
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
@ -36,13 +36,13 @@ class ImagefapGalleryExtractor(ImagefapExtractor):
test = (
("https://www.imagefap.com/pictures/7102714", {
"pattern": r"https://cdnh\.imagefap\.com"
"pattern": r"https://cdnh?\.imagefap\.com"
r"/images/full/\d+/\d+/\d+\.jpg",
"keyword": "2ba96e84c2952c4750e9fa94a3f2b1f965cec2f3",
"content": "694a0a57385980a6f90fbc296cadcd6c11ba2dab",
}),
("https://www.imagefap.com/gallery/5486966", {
"pattern": r"https://cdnh\.imagefap\.com"
"pattern": r"https://cdnh?\.imagefap\.com"
r"/images/full/\d+/\d+/\d+\.jpg",
"keyword": "3e24eace5b09639b881ebd393165862feb46adde",
}),
@ -107,7 +107,7 @@ class ImagefapImageExtractor(ImagefapExtractor):
pattern = BASE_PATTERN + r"/photo/(\d+)"
test = (
("https://www.imagefap.com/photo/1369341772/", {
"pattern": r"https://cdnh\.imagefap\.com"
"pattern": r"https://cdnh?\.imagefap\.com"
r"/images/full/\d+/\d+/\d+\.jpg",
"keyword": "8894e45f7262020d8d66ce59917315def1fc475b",
}),
@ -156,10 +156,10 @@ class ImagefapUserExtractor(ImagefapExtractor):
r"|usergallery\.php\?userid=(\d+))")
test = (
("https://www.imagefap.com/profile/LucyRae/galleries", {
"url": "d941aa906f56a75972a7a5283030eb9a8d27a4fd",
"url": "822cb6cbb6f474ca2d0f58d1d6d253bc2338937a",
}),
("https://www.imagefap.com/usergallery.php?userid=1862791", {
"url": "d941aa906f56a75972a7a5283030eb9a8d27a4fd",
"url": "822cb6cbb6f474ca2d0f58d1d6d253bc2338937a",
}),
("https://www.imagefap.com/profile.php?user=LucyRae"),
("https://beta.imagefap.com/profile.php?user=LucyRae"),

@ -95,9 +95,9 @@ class MangahereMangaExtractor(MangahereBase, MangaExtractor):
r"(/manga/[^/?#]+/?)(?:#.*)?$")
test = (
("https://www.mangahere.cc/manga/aria/", {
"url": "dc7f8954efbe87d9fd670c54e5edb5230c01f767",
"keyword": "864524eed2dc6a73e366f6ba400b80d894f99b5a",
"count": 69,
"url": "9c2e54ec42e9a87ad53096c328b33c90750af3e4",
"keyword": "71503c682c5d0c277a50409a8c5fd78e871e3d69",
"count": 71,
}),
("https://www.mangahere.cc/manga/hiyokoi/#50", {
"url": "654850570aa03825cd57e2ae2904af489602c523",

@ -26,18 +26,14 @@ class MangakakalotChapterExtractor(MangakakalotBase, ChapterExtractor):
"""Extractor for manga chapters from mangakakalot.tv"""
pattern = BASE_PATTERN + r"(/chapter/[^/?#]+/chapter[_-][^/?#]+)"
test = (
("https://ww.mangakakalot.tv/chapter/manga-hl984546/chapter-6", {
("https://ww3.mangakakalot.tv/chapter/manga-jk986845/chapter-34.2", {
"pattern": r"https://cm\.blazefast\.co"
r"/[0-9a-f]{2}/[0-9a-f]{2}/[0-9a-f]{32}\.jpg",
"keyword": "e9646a76a210f1eb4a71b4134664814c99d65d48",
"count": 14,
}),
(("https://mangakakalot.tv/chapter"
"/hatarakanai_futari_the_jobless_siblings/chapter_20.1"), {
"keyword": "14c430737ff600b26a3811815905f34dd6a6c8c6",
"content": "b3eb1f139caef98d9dcd8ba6a5ee146a13deebc4",
"count": 2,
"keyword": "0f1586ff52f0f9cbbb25306ae64ab718f8a6a633",
"count": 9,
}),
("https://mangakakalot.tv/chapter"
"/hatarakanai_futari_the_jobless_siblings/chapter_20.1"),
)
def __init__(self, match):
@ -81,13 +77,11 @@ class MangakakalotMangaExtractor(MangakakalotBase, MangaExtractor):
chapterclass = MangakakalotChapterExtractor
pattern = BASE_PATTERN + r"(/manga/[^/?#]+)"
test = (
("https://ww.mangakakalot.tv/manga/lk921810", {
"url": "654d040c17728c9c8756fce7092b084e8dcf67d2",
}),
("https://mangakakalot.tv/manga/manga-jk986845", {
("https://ww3.mangakakalot.tv/manga/manga-jk986845", {
"pattern": MangakakalotChapterExtractor.pattern,
"count": ">= 30",
}),
("https://mangakakalot.tv/manga/lk921810"),
)
def chapters(self, page):

@ -21,16 +21,12 @@ class ManganeloChapterExtractor(ChapterExtractor):
pattern = BASE_PATTERN + r"(/(?:manga-\w+|chapter/\w+)/chapter[-_][^/?#]+)"
test = (
("https://readmanganato.com/manga-gn983696/chapter-23", {
"pattern": r"https://s\d+\.\w+\.com/mangakakalot/g\d+/gq921227/"
r"vol3_chapter_23_24_yen/\d+\.jpg",
"keyword": "3748087cf41abc97f991530e6fd53b291490d6d0",
"pattern": r"https://v\d+\.mkklcdnv6tempv5\.com/img/tab_17/03/23"
r"/39/gn983696/vol_3_chapter_23_24_yen/\d+-[no]\.jpg",
"keyword": "2c5cd59342f149375df9bcb50aa416b4d04a43cf",
"count": 25,
}),
("https://manganelo.com/chapter/gamers/chapter_15", {
"keyword": "8f59f88d516247011fe122e05746c27e203c8191",
"content": "fbec629c71f66b246bfa0604204407c0d1c8ae38",
"count": 39,
}),
("https://manganelo.com/chapter/gamers/chapter_15"),
("https://manganelo.com/chapter/gq921227/chapter_23"),
)
@ -81,14 +77,11 @@ class ManganeloMangaExtractor(MangaExtractor):
chapterclass = ManganeloChapterExtractor
pattern = BASE_PATTERN + r"(/(?:manga[-/]|read_)\w+)/?$"
test = (
("https://manganato.com/manga-gu983703", {
"pattern": ManganeloChapterExtractor.pattern,
"count": ">= 70",
}),
("https://manganelo.com/manga/read_otome_no_teikoku", {
("https://readmanganato.com/manga-gn983696", {
"pattern": ManganeloChapterExtractor.pattern,
"count": ">= 40",
"count": ">= 25",
}),
("https://manganelo.com/manga/read_otome_no_teikoku"),
("https://manganelo.com/manga/ol921234/"),
)

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
# Copyright 2015-2021 Mike Fährmann
# Copyright 2015-2022 Mike Fährmann
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
@ -121,8 +121,8 @@ class MangaparkMangaExtractor(MangaparkBase, MangaExtractor):
r"(/manga/[^/?#]+)/?$")
test = (
("https://mangapark.net/manga/aria", {
"url": "b8f7db2f581404753c4af37af66c049a41273b94",
"keyword": "2c0d28efaf84fcfe62932b6931ef3c3987cd48c0",
"url": "51c6d82aed5c3c78e0d3f980b09a998e6a2a83ee",
"keyword": "cabc60cf2efa82749d27ac92c495945961e4b73c",
}),
("https://mangapark.me/manga/aria"),
("https://mangapark.com/manga/aria"),

@ -4,7 +4,7 @@
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
"""Extract hentai-gallery from https://myhentaigallery.com/"""
"""Extractors for https://myhentaigallery.com/"""
from .common import GalleryExtractor
from .. import text, exception
@ -18,8 +18,8 @@ class MyhentaigalleryGalleryExtractor(GalleryExtractor):
r"/gallery/(?:thumbnails|show)/(\d+)")
test = (
("https://myhentaigallery.com/gallery/thumbnails/16247", {
"pattern": r"https://images.myhentaigrid.com/imagesgallery/images"
r"/[^/]+/original/\d+\.jpg",
"pattern": r"https://images.myhentaicomics\.com/imagesgallery"
r"/images/[^/]+/original/\d+\.jpg",
"keyword": {
"artist" : list,
"count" : 11,

@ -118,11 +118,11 @@ class PhilomenaPostExtractor(PhilomenaExtractor):
"source_url": "https://www.deviantart.com/speccysy/art"
"/Afternoon-Flight-215193985",
"spoilered": False,
"tag_count": 42,
"tag_count": int,
"tag_ids": list,
"tags": list,
"thumbnails_generated": True,
"updated_at": "2021-09-30T20:04:01Z",
"updated_at": "2022-04-25T09:30:57Z",
"uploader": "Clover the Clever",
"uploader_id": 211188,
"upvotes": int,

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
# Copyright 2018-2021 Mike Fährmann
# Copyright 2018-2022 Mike Fährmann
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
@ -108,7 +108,7 @@ class PiczelImageExtractor(PiczelExtractor):
pattern = r"(?:https?://)?(?:www\.)?piczel\.tv/gallery/image/(\d+)"
test = ("https://piczel.tv/gallery/image/7807", {
"pattern": r"https://(\w+\.)?piczel\.tv/static/uploads/gallery_image"
r"/32920/image/7807/25737334-Lulena\.png",
r"/32920/image/7807/1532236438-Lulena\.png",
"content": "df9a053a24234474a19bce2b7e27e0dec23bff87",
"keyword": {
"created_at": "2018-07-22T05:13:58.000Z",

@ -50,8 +50,9 @@ class ReadcomiconlineIssueExtractor(ReadcomiconlineBase, ChapterExtractor):
subcategory = "issue"
pattern = BASE_PATTERN + r"(/Comic/[^/?#]+/[^/?#]+\?)([^#]+)"
test = ("https://readcomiconline.li/Comic/W-i-t-c-h/Issue-130?id=22289", {
"url": "30d29c5afc65043bfd384c010257ec2d0ecbafa6",
"pattern": r"https://2\.bp\.blogspot\.com/[\w-]+=s0\?.+",
"keyword": "2d9ec81ce1b11fac06ebf96ce33cdbfca0e85eb5",
"count": 36,
})
def __init__(self, match):

@ -134,12 +134,12 @@ class SkebPostExtractor(SkebExtractor):
"anonymous": False,
"body": "re:はじめまして。私はYouTubeにてVTuberとして活動をしている湊ラ",
"client": {
"avatar_url": "https://pbs.twimg.com/profile_images"
"/1537488326697287680/yNUbLDgC.jpg",
"header_url": "https://pbs.twimg.com/profile_banners"
"/1375007870291300358/1655744756/1500x500",
"avatar_url": r"re:https://pbs.twimg.com/profile_images"
r"/\d+/\w+\.jpg",
"header_url": r"re:https://pbs.twimg.com/profile_banners"
r"/1375007870291300358/\d+/1500x500",
"id": 1196514,
"name": "湊ラギ♦🎀Vtuber🎀次回6/23予定",
"name": str,
"screen_name": "minato_ragi",
},
"completed_at": "2022-02-27T14:03:45.442Z",

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
# Copyright 2019-2020 Mike Fährmann
# Copyright 2019-2022 Mike Fährmann
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
@ -36,12 +36,15 @@ class SlickpicAlbumExtractor(SlickpicExtractor):
pattern = BASE_PATTERN + r"/albums/([^/?#]+)"
test = (
("https://mattcrandall.slickpic.com/albums/LamborghiniMurcielago/", {
"url": "58bd94ebc80fd906e9879826970b408d54c6da07",
"keyword": "54a9d6f9e42ae43c644aa9316186fb9d9955fe53",
"pattern": r"https://stored-cf\.slickpic\.com/NDk5MjNmYTc1MzU0MQ,,"
r"/20160807/\w+/p/o/JSBFSS-\d+\.jpg",
"keyword": "c37c4ce9c54c09abc6abdf295855d46f11529cbf",
"count": 102,
}),
("https://mattcrandall.slickpic.com/albums/LamborghiniMurcielago/", {
"range": "34",
"content": ("cec6630e659dc72db1ee1a9a6f3b525189261988",
"content": ("52b5a310587de1048030ab13a912f6a3a9cc7dab",
"cec6630e659dc72db1ee1a9a6f3b525189261988",
"6f81e1e74c6cd6db36844e7211eef8e7cd30055d",
"22e83645fc242bc3584eca7ec982c8a53a4d8a44"),
}),

@ -1,12 +1,12 @@
# -*- coding: utf-8 -*-
# Copyright 2018-2021 Mike Fährmann
# Copyright 2018-2022 Mike Fährmann
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
"""Extract images from https://www.smugmug.com/"""
"""Extractors for https://www.smugmug.com/"""
from .common import Extractor, Message
from .. import text, oauth, exception
@ -111,13 +111,13 @@ class SmugmugImageExtractor(SmugmugExtractor):
test = (
("https://tdm.smugmug.com/Nature/Dove/i-kCsLJT6", {
"url": "e6408fd2c64e721fd146130dceb56a971ceb4259",
"keyword": "b15af021186b7234cebcac758d2a4fd8462f9912",
"keyword": "460a773f5addadd3e216bda346fc524fe4eedc52",
"content": "ecbd9d7b4f75a637abc8d35319be9ec065a44eb0",
}),
# video
("https://tstravels.smugmug.com/Dailies/Daily-Dose-2015/i-39JFNzB", {
"url": "04d0ab1ff829ca7d78f5acb5548953df08e9a5ee",
"keyword": "f6967cc5a46c3e130a4f8de7c5c971f72e07fe61",
"keyword": "eb74e5cf6780d5152ab8f11b431ec1b17fa8f69b",
}),
)

@ -83,7 +83,7 @@ class TwibooruPostExtractor(TwibooruExtractor):
"tag_ids": list,
"tags": list,
"thumbnails_generated": True,
"updated_at": "2022-02-03T15:49:07.110Z",
"updated_at": "2022-05-13T00:43:19.791Z",
"upvotes": int,
"view_url": "https://cdn.twibooru.org/img/2020/7/8/1/full.png",
"width": 576,

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
# Copyright 2019-2020 Mike Fährmann
# Copyright 2019-2022 Mike Fährmann
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
@ -119,7 +119,8 @@ class VscoUserExtractor(VscoExtractor):
pattern = BASE_PATTERN + r"(?:/gallery|/images(?:/\d+)?)?/?(?:$|[?#])"
test = (
("https://vsco.co/missuri/gallery", {
"pattern": r"https://image(-aws.+)?\.vsco\.co/[0-9a-f/]+/vsco\w+",
"pattern": r"https://image(-aws.+)?\.vsco\.co"
r"/[0-9a-f/]+/[\w-]+\.\w+",
"range": "1-80",
"count": 80,
}),
@ -150,7 +151,7 @@ class VscoCollectionExtractor(VscoExtractor):
archive_fmt = "c_{user}_{id}"
pattern = BASE_PATTERN + r"/collection/"
test = ("https://vsco.co/vsco/collection/1", {
"pattern": r"https://image(-aws.+)?\.vsco\.co/[0-9a-f/]+/vsco\w+\.\w+",
"pattern": r"https://image(-aws.+)?\.vsco\.co/[0-9a-f/]+/[\w-]+\.\w+",
"range": "1-80",
"count": 80,
})

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
# Copyright 2018-2021 Mike Fährmann
# Copyright 2018-2022 Mike Fährmann
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
@ -58,7 +58,7 @@ class WallhavenSearchExtractor(WallhavenExtractor):
(("https://wallhaven.cc/search?q=id%3A87"
"&categories=111&purity=100&sorting=date_added&order=asc&page=3"), {
"pattern": r"https://w.wallhaven.cc/full/\w\w/wallhaven-\w+\.\w+",
"count": "<= 20",
"count": "<= 30",
}),
)

@ -310,7 +310,8 @@ class WeiboAlbumExtractor(WeiboExtractor):
subcategory = "album"
pattern = USER_PATTERN + r"\?tabtype=album"
test = ("https://weibo.com/1758989602?tabtype=album", {
"pattern": r"https://wx\d+\.sinaimg\.cn/large/\w{32}\.(jpg|png|gif)",
"pattern": r"https://(wx\d+\.sinaimg\.cn/large/\w{32}\.(jpg|png|gif)"
r"|g\.us\.sinaimg\.cn/../\w+\.mp4)",
"range": "1-3",
"count": 3,
})

Loading…
Cancel
Save