merge #6855: [turboimagehost] add support for galleries
This commit is contained in:
@@ -958,7 +958,7 @@ Consider all listed sites to potentially be NSFW.
|
|||||||
<tr>
|
<tr>
|
||||||
<td>Turboimagehost</td>
|
<td>Turboimagehost</td>
|
||||||
<td>https://www.turboimagehost.com/</td>
|
<td>https://www.turboimagehost.com/</td>
|
||||||
<td>individual Images</td>
|
<td>Galleries, individual Images</td>
|
||||||
<td></td>
|
<td></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
|||||||
@@ -286,6 +286,34 @@ class TurboimagehostImageExtractor(ImagehostImageExtractor):
|
|||||||
return url, url
|
return url, url
|
||||||
|
|
||||||
|
|
||||||
|
class TurboimagehostGalleryExtractor(ImagehostImageExtractor):
|
||||||
|
"""Extractor for image galleries from turboimagehost.com"""
|
||||||
|
category = "turboimagehost"
|
||||||
|
subcategory = "gallery"
|
||||||
|
pattern = (r"(?:https?://)?((?:www\.)?turboimagehost\.com"
|
||||||
|
r"/album/(\d+)/([^/?#]*))")
|
||||||
|
example = "https://www.turboimagehost.com/album/12345/GALLERY_NAME"
|
||||||
|
|
||||||
|
def items(self):
|
||||||
|
data = {"_extractor": TurboimagehostImageExtractor}
|
||||||
|
params = {"p": 1}
|
||||||
|
|
||||||
|
while True:
|
||||||
|
page = self.request(self.page_url, params=params).text
|
||||||
|
|
||||||
|
if params["p"] == 1 and \
|
||||||
|
"Requested gallery don`t exist on our website." in page:
|
||||||
|
raise exception.NotFoundError("gallery")
|
||||||
|
|
||||||
|
thumb_url = None
|
||||||
|
for thumb_url in text.extract_iter(page, '"><a href="', '"'):
|
||||||
|
yield Message.Queue, thumb_url, data
|
||||||
|
if thumb_url is None:
|
||||||
|
return
|
||||||
|
|
||||||
|
params["p"] += 1
|
||||||
|
|
||||||
|
|
||||||
class ViprImageExtractor(ImagehostImageExtractor):
|
class ViprImageExtractor(ImagehostImageExtractor):
|
||||||
"""Extractor for single images from vipr.im"""
|
"""Extractor for single images from vipr.im"""
|
||||||
category = "vipr"
|
category = "vipr"
|
||||||
|
|||||||
@@ -17,7 +17,17 @@ __tests__ = (
|
|||||||
"#sha1_content" : (
|
"#sha1_content" : (
|
||||||
"f38b54b17cd7462e687b58d83f00fca88b1b105a",
|
"f38b54b17cd7462e687b58d83f00fca88b1b105a",
|
||||||
"0c8768055e4e20e7c7259608b67799171b691140",
|
"0c8768055e4e20e7c7259608b67799171b691140",
|
||||||
|
"961b25d85b5f5bd18cbe3e847ac55925f14d0286"
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"#url" : "https://www.turboimagehost.com/album/344597/testimagegallery",
|
||||||
|
"#category": ("imagehost", "turboimagehost", "gallery"),
|
||||||
|
"#class" : imagehosts.TurboimagehostGalleryExtractor,
|
||||||
|
"#pattern" : imagehosts.TurboimagehostImageExtractor.pattern,
|
||||||
|
"#sha1_url": "f2d4fe102fdd71dd1f595cdb0c16ce999d6bb19b",
|
||||||
|
"#count" : 110,
|
||||||
|
},
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user