diff --git a/bdfr/site_downloaders/download_factory.py b/bdfr/site_downloaders/download_factory.py index 157814f..8324cd0 100644 --- a/bdfr/site_downloaders/download_factory.py +++ b/bdfr/site_downloaders/download_factory.py @@ -15,7 +15,6 @@ from bdfr.site_downloaders.gfycat import Gfycat from bdfr.site_downloaders.imgur import Imgur from bdfr.site_downloaders.redgifs import Redgifs from bdfr.site_downloaders.self_post import SelfPost -from bdfr.site_downloaders.streamable import Streamable from bdfr.site_downloaders.vreddit import VReddit from bdfr.site_downloaders.youtube import Youtube @@ -44,8 +43,6 @@ class DownloadFactory: return VReddit elif re.match(r'(m\.)?youtu\.?be', sanitised_url): return Youtube - elif re.match(r'streamable\.com', sanitised_url): - return Streamable elif re.match(r'i\.redd\.it.*', sanitised_url): return Direct elif YoutubeDlFallback.can_handle_link(sanitised_url): diff --git a/bdfr/site_downloaders/streamable.py b/bdfr/site_downloaders/streamable.py deleted file mode 100644 index a8c5efe..0000000 --- a/bdfr/site_downloaders/streamable.py +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env python3 - -import logging -from typing import Optional - -from praw.models import Submission - -from bdfr.resource import Resource -from bdfr.site_authenticator import SiteAuthenticator -from bdfr.site_downloaders.youtube import Youtube - -logger = logging.getLogger(__name__) - - -class Streamable(Youtube): - def __init__(self, post: Submission): - super().__init__(post) - - def find_resources(self, authenticator: Optional[SiteAuthenticator] = None) -> list[Resource]: - out = super()._download_video({}) - return [out] diff --git a/tests/site_downloaders/test_download_factory.py b/tests/site_downloaders/test_download_factory.py index 005974c..36580e0 100644 --- a/tests/site_downloaders/test_download_factory.py +++ b/tests/site_downloaders/test_download_factory.py @@ -15,7 +15,6 @@ from bdfr.site_downloaders.gfycat import Gfycat from bdfr.site_downloaders.imgur import Imgur from bdfr.site_downloaders.redgifs import Redgifs from bdfr.site_downloaders.self_post import SelfPost -from bdfr.site_downloaders.streamable import Streamable from bdfr.site_downloaders.vreddit import VReddit from bdfr.site_downloaders.youtube import Youtube @@ -43,7 +42,7 @@ from bdfr.site_downloaders.youtube import Youtube ('https://i.imgur.com/3SKrQfK.jpg?1', Direct), ('https://dynasty-scans.com/system/images_images/000/017/819/original/80215103_p0.png?1612232781', Direct), ('https://m.imgur.com/a/py3RW0j', Imgur), - ('https://streamable.com/dt46y', Streamable), + ('https://streamable.com/dt46y', YoutubeDlFallback), ('https://vimeo.com/channels/31259/53576664', YoutubeDlFallback), ('http://video.pbs.org/viralplayer/2365173446/', YoutubeDlFallback), )) diff --git a/tests/site_downloaders/test_streamable.py b/tests/site_downloaders/test_streamable.py deleted file mode 100644 index ba24039..0000000 --- a/tests/site_downloaders/test_streamable.py +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env python3 -# coding=utf-8 - -from unittest.mock import MagicMock - -import pytest - -from bdfr.resource import Resource -from bdfr.site_downloaders.streamable import Streamable - - -@pytest.mark.online -@pytest.mark.slow -@pytest.mark.parametrize(('test_url', 'expected_hash'), ( - ('https://streamable.com/dt46y', '1e7f4928e55de6e3ca23d85cc9246bbb'), - ('https://streamable.com/t8sem', '49b2d1220c485455548f1edbc05d4ecf') -)) -def test_find_resources(test_url: str, expected_hash: str): - test_submission = MagicMock() - test_submission.url = test_url - downloader = Streamable(test_submission) - resources = downloader.find_resources() - assert len(resources) == 1 - assert isinstance(resources[0], Resource) - resources[0].download(120) - assert resources[0].hash.hexdigest() == expected_hash