[pinterest] improve detection of invalid pin.it links

This commit is contained in:
Mike Fährmann
2020-01-18 21:06:44 +01:00
parent 0b84068d84
commit 32d7195d08
3 changed files with 5 additions and 8 deletions

View File

@@ -153,7 +153,7 @@ class ImgurAlbumExtractor(ImgurExtractor):
"is_album" : True,
"layout" : "blog",
"link" : "https://imgur.com/a/TcBmP",
"nsfw" : True,
"nsfw" : bool,
"privacy" : "hidden",
"section" : None,
"title" : "138",

View File

@@ -60,9 +60,8 @@ class PinterestPinExtractor(PinterestExtractor):
test = (
("https://www.pinterest.com/pin/858146903966145189/", {
"url": "afb3c26719e3a530bb0e871c480882a801a4e8a5",
# image version depends on CDN server used
# "content": "d3e24bc9f7af585e8c23b9136956bd45a4d9b947",
# "content": "4c435a66f6bb82bb681db2ecc888f76cf6c5f9ca",
"content": ("4c435a66f6bb82bb681db2ecc888f76cf6c5f9ca",
"d3e24bc9f7af585e8c23b9136956bd45a4d9b947"),
}),
("https://www.pinterest.com/pin/858146903966145188/", {
"exception": exception.NotFoundError,
@@ -171,9 +170,7 @@ class PinterestPinitExtractor(PinterestExtractor):
self.shortened_id)
response = self.request(url, method="HEAD", allow_redirects=False)
location = response.headers.get("Location")
if not location or location in ("https://api.pinterest.com/None",
"https://pin.it/None",
"https://www.pinterest.com"):
if not location or not PinterestPinExtractor.pattern.match(location):
raise exception.NotFoundError("pin")
yield Message.Queue, location, {"_extractor": PinterestPinExtractor}

View File

@@ -152,7 +152,7 @@ class XhamsterUserExtractor(XhamsterExtractor):
subcategory = "user"
pattern = BASE_PATTERN + r"/users/([^/?&#]+)(?:/photos)?/?(?:$|[?#])"
test = (
("https://xhamster.com/users/nickname68/photos", {
("https://xhamster.com/users/goldenpalomino/photos", {
"pattern": XhamsterGalleryExtractor.pattern,
"count": 50,
"range": "1-50",