[directlink] update filename format and metadata

This commit is contained in:
Mike Fährmann
2017-05-30 17:33:09 +02:00
parent c184e47ee3
commit b6fffa9e26
4 changed files with 9 additions and 7 deletions

View File

@@ -15,19 +15,22 @@ from .. import text
class DirectlinkExtractor(Extractor): class DirectlinkExtractor(Extractor):
"""Extractor for direct links to images""" """Extractor for direct links to images"""
category = "directlink" category = "directlink"
pattern = [r"https?://[^?&#]+\.(?:jpe?g|png|gif|webm|mp4|ogg)"] filename_fmt = "{domain}/{path}"
pattern = [r"https?://([^/]+)/([^?&#]+\.(?:jpe?g|png|gif|webm|mp4|ogg))"]
test = [(("https://photos.smugmug.com/The-World/Hawaii/" test = [(("https://photos.smugmug.com/The-World/Hawaii/"
"i-SWz2K6n/2/X3/IMG_0311-X3.jpg"), { "i-SWz2K6n/2/X3/IMG_0311-X3.jpg"), {
"url": "32ee1045881e17ef3f13a9958595afa42421ec6c", "url": "32ee1045881e17ef3f13a9958595afa42421ec6c",
"keyword": "5bd7871a6957e1693c43abf31d7c0a38e39a81de", "keyword": "1abd2f2c115cdf2cf2671d2611349b4213c3ab3e",
})] })]
def __init__(self, match): def __init__(self, match):
Extractor.__init__(self) Extractor.__init__(self)
self.domain, self.path = match.groups()
self.url = match.string self.url = match.string
def items(self): def items(self):
data = text.nameext_from_url(self.url) data = {"domain": self.domain, "path": self.path}
text.nameext_from_url(self.url, data)
yield Message.Version, 1 yield Message.Version, 1
yield Message.Directory, data yield Message.Directory, data
yield Message.Url, self.url, data yield Message.Url, self.url, data

View File

@@ -79,7 +79,7 @@ class FallenangelsMangaExtractor(MangaExtractor):
"url": "8da3d4bcbadc173e5b23c141a0e646b35f41b9b0", "url": "8da3d4bcbadc173e5b23c141a0e646b35f41b9b0",
}), }),
("https://truyen.fascans.com/manga/rakudai-kishi-no-eiyuutan", { ("https://truyen.fascans.com/manga/rakudai-kishi-no-eiyuutan", {
"url": "d332d08ce522c7943cd80d3fd361391190444a26", "url": "51a731a6b82d5eb7a335fbae6b02d06aeb2ab07b",
}), }),
] ]

View File

@@ -52,12 +52,11 @@ class ImgurExtractor(Extractor):
class ImgurImageExtractor(ImgurExtractor): class ImgurImageExtractor(ImgurExtractor):
"""Extractor for individual images from imgur.com""" """Extractor for individual images from imgur.com"""
category = "imgur"
subcategory = "image" subcategory = "image"
filename_fmt = "{category}_{hash}.{extension}" filename_fmt = "{category}_{hash}.{extension}"
pattern = [(r"(?:https?://)?(?:m\.|www\.)?imgur\.com/" pattern = [(r"(?:https?://)?(?:m\.|www\.)?imgur\.com/"
r"(?:gallery/)?((?!gallery)[^/?&#]{7})/?"), r"(?:gallery/)?((?!gallery)[^/?&#]{7})/?"),
(r"(?:https?://)?i\.imgur\.com/([^/?&#.]{7})\.")] (r"(?:https?://)?i\.imgur\.com/([^/?&#.]{5,7})\.")]
test = [ test = [
("https://imgur.com/21yMxCS", { ("https://imgur.com/21yMxCS", {
"url": "6f2dcfb86815bdd72808c313e5f715610bc7b9b2", "url": "6f2dcfb86815bdd72808c313e5f715610bc7b9b2",

View File

@@ -51,7 +51,7 @@ skip = [
# dont work on travis-ci # dont work on travis-ci
"exhentai", "kissmanga", "mangafox", "dynastyscans", "nijie", "exhentai", "kissmanga", "mangafox", "dynastyscans", "nijie",
# temporary issues # temporary issues
"mangapark", "mangapark", "imgtrex",
] ]
# enable selective testing for direct calls # enable selective testing for direct calls
if __name__ == '__main__' and len(sys.argv) > 1: if __name__ == '__main__' and len(sys.argv) > 1: