require 'extension' data for each URL (#382)
This commit is contained in:
@@ -41,6 +41,7 @@ class ArtstationExtractor(Extractor):
|
||||
player = adict["player_embedded"]
|
||||
url = text.extract(player, 'src="', '"')[0]
|
||||
if not url.startswith(self.root):
|
||||
asset["extension"] = None
|
||||
yield Message.Url, "ytdl:" + url, asset
|
||||
continue
|
||||
|
||||
|
||||
@@ -40,6 +40,7 @@ class InstagramExtractor(Extractor):
|
||||
yield Message.Url, data['display_url'], \
|
||||
text.nameext_from_url(data['display_url'], data)
|
||||
elif data['typename'] == 'GraphVideo':
|
||||
data["extension"] = None
|
||||
yield Message.Url, \
|
||||
'ytdl:{}/p/{}/'.format(self.root, data['shortcode']), data
|
||||
|
||||
|
||||
@@ -78,6 +78,7 @@ class SexcomExtractor(Extractor):
|
||||
path += "/hd"
|
||||
data["url"] = self.root + path
|
||||
else:
|
||||
data["extension"] = None
|
||||
data["url"] = "ytdl:" + text.extract(
|
||||
extr('<iframe', '>'), ' src="', '"')[0]
|
||||
else:
|
||||
|
||||
@@ -54,6 +54,7 @@ class TwitterExtractor(Extractor):
|
||||
|
||||
if self.videos and "-videoContainer" in tweet:
|
||||
data["num"] = 1
|
||||
data["extension"] = None
|
||||
url = "ytdl:{}/{}/status/{}".format(
|
||||
self.root, data["user"], data["tweet_id"])
|
||||
yield Message.Url, url, data
|
||||
|
||||
@@ -87,13 +87,17 @@ class TestExtractorResults(unittest.TestCase):
|
||||
# test archive-id uniqueness
|
||||
self.assertEqual(len(set(tjob.list_archive)), len(tjob.list_archive))
|
||||
|
||||
# test '_extractor' entries
|
||||
if tjob.queue:
|
||||
# test '_extractor' entries
|
||||
for url, kwdict in zip(tjob.list_url, tjob.list_keyword):
|
||||
if "_extractor" in kwdict:
|
||||
extr = kwdict["_extractor"].from_url(url)
|
||||
self.assertIsInstance(extr, kwdict["_extractor"])
|
||||
self.assertEqual(extr.url, url)
|
||||
else:
|
||||
# test 'extension' entries
|
||||
for kwdict in tjob.list_keyword:
|
||||
self.assertIn("extension", kwdict)
|
||||
|
||||
# test extraction results
|
||||
if "url" in result:
|
||||
|
||||
Reference in New Issue
Block a user