[imagehost] improve 'filename' & 'extension' handling
This commit is contained in:
@@ -58,8 +58,16 @@ class ImagehostImageExtractor(Extractor):
|
|||||||
url, filename = self.get_info(page)
|
url, filename = self.get_info(page)
|
||||||
if not url:
|
if not url:
|
||||||
return
|
return
|
||||||
data = text.nameext_from_url(filename, {"token": self.token})
|
|
||||||
|
if filename:
|
||||||
|
data = text.nameext_from_name(filename)
|
||||||
|
if not data["extension"]:
|
||||||
|
data["extension"] = text.ext_from_url(url)
|
||||||
|
else:
|
||||||
|
data = text.nameext_from_url(url)
|
||||||
|
data["token"] = self.token
|
||||||
data.update(self.metadata(page))
|
data.update(self.metadata(page))
|
||||||
|
|
||||||
if self._https and url.startswith("http:"):
|
if self._https and url.startswith("http:"):
|
||||||
url = "https:" + url[5:]
|
url = "https:" + url[5:]
|
||||||
if self._validate is not None:
|
if self._validate is not None:
|
||||||
@@ -341,7 +349,7 @@ class TurboimagehostImageExtractor(ImagehostImageExtractor):
|
|||||||
|
|
||||||
def get_info(self, page):
|
def get_info(self, page):
|
||||||
url = text.extract(page, 'src="', '"', page.index("<img "))[0]
|
url = text.extract(page, 'src="', '"', page.index("<img "))[0]
|
||||||
return url, url
|
return url, None
|
||||||
|
|
||||||
|
|
||||||
class TurboimagehostGalleryExtractor(ImagehostImageExtractor):
|
class TurboimagehostGalleryExtractor(ImagehostImageExtractor):
|
||||||
@@ -380,7 +388,7 @@ class ViprImageExtractor(ImagehostImageExtractor):
|
|||||||
|
|
||||||
def get_info(self, page):
|
def get_info(self, page):
|
||||||
url = text.extr(page, '<img src="', '"')
|
url = text.extr(page, '<img src="', '"')
|
||||||
return url, url
|
return url, None
|
||||||
|
|
||||||
|
|
||||||
class ImgclickImageExtractor(ImagehostImageExtractor):
|
class ImgclickImageExtractor(ImagehostImageExtractor):
|
||||||
|
|||||||
@@ -32,10 +32,9 @@ __tests__ = (
|
|||||||
"#category": ("imagehost", "postimg", "image"),
|
"#category": ("imagehost", "postimg", "image"),
|
||||||
"#class" : imagehosts.PostimgImageExtractor,
|
"#class" : imagehosts.PostimgImageExtractor,
|
||||||
"#results" : "https://i.postimg.cc/PhJZt1Rw/test-tesuto.png?dl=1",
|
"#results" : "https://i.postimg.cc/PhJZt1Rw/test-tesuto.png?dl=1",
|
||||||
"#sha1_metadata": "2d05808d04e4e83e33200db83521af06e3147a84",
|
|
||||||
"#sha1_content" : "cfaa8def53ed1a575e0c665c9d6d8cf2aac7a0ee",
|
"#sha1_content" : "cfaa8def53ed1a575e0c665c9d6d8cf2aac7a0ee",
|
||||||
|
|
||||||
"extension": "",
|
"extension": "png",
|
||||||
"filename" : "test-テスト-\"&>",
|
"filename" : "test-テスト-\"&>",
|
||||||
"token" : "Wtn2b3hC",
|
"token" : "Wtn2b3hC",
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user