[imagehosts] add and use 'not_found()' method
This commit is contained in:
@@ -75,6 +75,9 @@ class ImagehostImageExtractor(Extractor):
|
|||||||
"""Return additional metadata"""
|
"""Return additional metadata"""
|
||||||
return ()
|
return ()
|
||||||
|
|
||||||
|
def not_found(self, resource=None):
|
||||||
|
raise exception.NotFoundError(resource or self.__class__.subcategory)
|
||||||
|
|
||||||
|
|
||||||
class ImxtoImageExtractor(ImagehostImageExtractor):
|
class ImxtoImageExtractor(ImagehostImageExtractor):
|
||||||
"""Extractor for single images from imx.to"""
|
"""Extractor for single images from imx.to"""
|
||||||
@@ -97,7 +100,7 @@ class ImxtoImageExtractor(ImagehostImageExtractor):
|
|||||||
url, pos = text.extract(
|
url, pos = text.extract(
|
||||||
page, '<div style="text-align:center;"><a href="', '"')
|
page, '<div style="text-align:center;"><a href="', '"')
|
||||||
if not url:
|
if not url:
|
||||||
raise exception.NotFoundError("image")
|
self.not_found()
|
||||||
filename, pos = text.extract(page, ' title="', '"', pos)
|
filename, pos = text.extract(page, ' title="', '"', pos)
|
||||||
if self.url_ext and filename:
|
if self.url_ext and filename:
|
||||||
filename += splitext(url)[1]
|
filename += splitext(url)[1]
|
||||||
@@ -157,7 +160,7 @@ class AcidimgImageExtractor(ImagehostImageExtractor):
|
|||||||
if not url:
|
if not url:
|
||||||
url, pos = text.extract(page, '<img class="centred" src="', '"')
|
url, pos = text.extract(page, '<img class="centred" src="', '"')
|
||||||
if not url:
|
if not url:
|
||||||
raise exception.NotFoundError("image")
|
self.not_found()
|
||||||
|
|
||||||
filename, pos = text.extract(page, "alt='", "'", pos)
|
filename, pos = text.extract(page, "alt='", "'", pos)
|
||||||
if not filename:
|
if not filename:
|
||||||
@@ -177,7 +180,7 @@ class ImagevenueImageExtractor(ImagehostImageExtractor):
|
|||||||
try:
|
try:
|
||||||
pos = page.index('class="card-body')
|
pos = page.index('class="card-body')
|
||||||
except ValueError:
|
except ValueError:
|
||||||
raise exception.NotFoundError("image")
|
self.not_found()
|
||||||
|
|
||||||
url, pos = text.extract(page, '<img src="', '"', pos)
|
url, pos = text.extract(page, '<img src="', '"', pos)
|
||||||
if url.endswith("/loader.svg"):
|
if url.endswith("/loader.svg"):
|
||||||
@@ -209,7 +212,7 @@ class ImagetwistImageExtractor(ImagehostImageExtractor):
|
|||||||
def get_info(self, page):
|
def get_info(self, page):
|
||||||
url , pos = text.extract(page, '<img src="', '"')
|
url , pos = text.extract(page, '<img src="', '"')
|
||||||
if url and url.startswith("/imgs/"):
|
if url and url.startswith("/imgs/"):
|
||||||
return None, None
|
self.not_found()
|
||||||
filename, pos = text.extract(page, ' alt="', '"', pos)
|
filename, pos = text.extract(page, ' alt="', '"', pos)
|
||||||
return url, filename
|
return url, filename
|
||||||
|
|
||||||
@@ -260,7 +263,7 @@ class ImgspiceImageExtractor(ImagehostImageExtractor):
|
|||||||
def get_info(self, page):
|
def get_info(self, page):
|
||||||
pos = page.find('id="imgpreview"')
|
pos = page.find('id="imgpreview"')
|
||||||
if pos < 0:
|
if pos < 0:
|
||||||
raise exception.NotFoundError("image")
|
self.not_found()
|
||||||
url , pos = text.extract(page, 'src="', '"', pos)
|
url , pos = text.extract(page, 'src="', '"', pos)
|
||||||
name, pos = text.extract(page, 'alt="', '"', pos)
|
name, pos = text.extract(page, 'alt="', '"', pos)
|
||||||
return url, text.unescape(name)
|
return url, text.unescape(name)
|
||||||
@@ -356,7 +359,7 @@ class TurboimagehostGalleryExtractor(ImagehostImageExtractor):
|
|||||||
|
|
||||||
if params["p"] == 1 and \
|
if params["p"] == 1 and \
|
||||||
"Requested gallery don`t exist on our website." in page:
|
"Requested gallery don`t exist on our website." in page:
|
||||||
raise exception.NotFoundError("gallery")
|
self.not_found()
|
||||||
|
|
||||||
thumb_url = None
|
thumb_url = None
|
||||||
for thumb_url in text.extract_iter(page, '"><a href="', '"'):
|
for thumb_url in text.extract_iter(page, '"><a href="', '"'):
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
# published by the Free Software Foundation.
|
# published by the Free Software Foundation.
|
||||||
|
|
||||||
from gallery_dl.extractor import imagehosts
|
from gallery_dl.extractor import imagehosts
|
||||||
|
from gallery_dl import exception
|
||||||
|
|
||||||
|
|
||||||
__tests__ = (
|
__tests__ = (
|
||||||
@@ -46,7 +47,7 @@ __tests__ = (
|
|||||||
"#comment" : "'Image not found' (#8415)",
|
"#comment" : "'Image not found' (#8415)",
|
||||||
"#category": ("imagehost", "imagetwist", "image"),
|
"#category": ("imagehost", "imagetwist", "image"),
|
||||||
"#class" : imagehosts.ImagetwistImageExtractor,
|
"#class" : imagehosts.ImagetwistImageExtractor,
|
||||||
"#count" : 0,
|
"#exception": exception.NotFoundError,
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user