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