Rename module to reflect backend change
This commit is contained in:
@@ -9,7 +9,7 @@ from bdfr.exceptions import NotADownloadableLinkError
|
|||||||
from bdfr.site_downloaders.base_downloader import BaseDownloader
|
from bdfr.site_downloaders.base_downloader import BaseDownloader
|
||||||
from bdfr.site_downloaders.direct import Direct
|
from bdfr.site_downloaders.direct import Direct
|
||||||
from bdfr.site_downloaders.erome import Erome
|
from bdfr.site_downloaders.erome import Erome
|
||||||
from bdfr.site_downloaders.fallback_downloaders.youtubedl_fallback import YoutubeDlFallback
|
from bdfr.site_downloaders.fallback_downloaders.ytdlp_fallback import YtdlpFallback
|
||||||
from bdfr.site_downloaders.gallery import Gallery
|
from bdfr.site_downloaders.gallery import Gallery
|
||||||
from bdfr.site_downloaders.gfycat import Gfycat
|
from bdfr.site_downloaders.gfycat import Gfycat
|
||||||
from bdfr.site_downloaders.imgur import Imgur
|
from bdfr.site_downloaders.imgur import Imgur
|
||||||
@@ -49,8 +49,8 @@ class DownloadFactory:
|
|||||||
return PornHub
|
return PornHub
|
||||||
elif re.match(r'vidble\.com', sanitised_url):
|
elif re.match(r'vidble\.com', sanitised_url):
|
||||||
return Vidble
|
return Vidble
|
||||||
elif YoutubeDlFallback.can_handle_link(sanitised_url):
|
elif YtdlpFallback.can_handle_link(sanitised_url):
|
||||||
return YoutubeDlFallback
|
return YtdlpFallback
|
||||||
else:
|
else:
|
||||||
raise NotADownloadableLinkError(f'No downloader module exists for url {url}')
|
raise NotADownloadableLinkError(f'No downloader module exists for url {url}')
|
||||||
|
|
||||||
|
|||||||
@@ -15,9 +15,9 @@ from bdfr.site_downloaders.youtube import Youtube
|
|||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class YoutubeDlFallback(BaseFallbackDownloader, Youtube):
|
class YtdlpFallback(BaseFallbackDownloader, Youtube):
|
||||||
def __init__(self, post: Submission):
|
def __init__(self, post: Submission):
|
||||||
super(YoutubeDlFallback, self).__init__(post)
|
super(YtdlpFallback, self).__init__(post)
|
||||||
|
|
||||||
def find_resources(self, authenticator: Optional[SiteAuthenticator] = None) -> list[Resource]:
|
def find_resources(self, authenticator: Optional[SiteAuthenticator] = None) -> list[Resource]:
|
||||||
out = Resource(
|
out = Resource(
|
||||||
@@ -31,7 +31,7 @@ class YoutubeDlFallback(BaseFallbackDownloader, Youtube):
|
|||||||
@staticmethod
|
@staticmethod
|
||||||
def can_handle_link(url: str) -> bool:
|
def can_handle_link(url: str) -> bool:
|
||||||
try:
|
try:
|
||||||
attributes = YoutubeDlFallback.get_video_attributes(url)
|
attributes = YtdlpFallback.get_video_attributes(url)
|
||||||
except NotADownloadableLinkError:
|
except NotADownloadableLinkError:
|
||||||
return False
|
return False
|
||||||
if attributes:
|
if attributes:
|
||||||
@@ -6,7 +6,7 @@ import pytest
|
|||||||
|
|
||||||
from bdfr.exceptions import NotADownloadableLinkError
|
from bdfr.exceptions import NotADownloadableLinkError
|
||||||
from bdfr.resource import Resource
|
from bdfr.resource import Resource
|
||||||
from bdfr.site_downloaders.fallback_downloaders.youtubedl_fallback import YoutubeDlFallback
|
from bdfr.site_downloaders.fallback_downloaders.ytdlp_fallback import YtdlpFallback
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.online
|
@pytest.mark.online
|
||||||
@@ -17,7 +17,7 @@ from bdfr.site_downloaders.fallback_downloaders.youtubedl_fallback import Youtub
|
|||||||
('https://milesmatrix.bandcamp.com/album/la-boum/', False),
|
('https://milesmatrix.bandcamp.com/album/la-boum/', False),
|
||||||
))
|
))
|
||||||
def test_can_handle_link(test_url: str, expected: bool):
|
def test_can_handle_link(test_url: str, expected: bool):
|
||||||
result = YoutubeDlFallback.can_handle_link(test_url)
|
result = YtdlpFallback.can_handle_link(test_url)
|
||||||
assert result == expected
|
assert result == expected
|
||||||
|
|
||||||
|
|
||||||
@@ -27,7 +27,7 @@ def test_can_handle_link(test_url: str, expected: bool):
|
|||||||
))
|
))
|
||||||
def test_info_extraction_bad(test_url: str):
|
def test_info_extraction_bad(test_url: str):
|
||||||
with pytest.raises(NotADownloadableLinkError):
|
with pytest.raises(NotADownloadableLinkError):
|
||||||
YoutubeDlFallback.get_video_attributes(test_url)
|
YtdlpFallback.get_video_attributes(test_url)
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.online
|
@pytest.mark.online
|
||||||
@@ -41,7 +41,7 @@ def test_info_extraction_bad(test_url: str):
|
|||||||
def test_find_resources(test_url: str, expected_hash: str):
|
def test_find_resources(test_url: str, expected_hash: str):
|
||||||
test_submission = MagicMock()
|
test_submission = MagicMock()
|
||||||
test_submission.url = test_url
|
test_submission.url = test_url
|
||||||
downloader = YoutubeDlFallback(test_submission)
|
downloader = YtdlpFallback(test_submission)
|
||||||
resources = downloader.find_resources()
|
resources = downloader.find_resources()
|
||||||
assert len(resources) == 1
|
assert len(resources) == 1
|
||||||
assert isinstance(resources[0], Resource)
|
assert isinstance(resources[0], Resource)
|
||||||
@@ -9,7 +9,7 @@ from bdfr.site_downloaders.base_downloader import BaseDownloader
|
|||||||
from bdfr.site_downloaders.direct import Direct
|
from bdfr.site_downloaders.direct import Direct
|
||||||
from bdfr.site_downloaders.download_factory import DownloadFactory
|
from bdfr.site_downloaders.download_factory import DownloadFactory
|
||||||
from bdfr.site_downloaders.erome import Erome
|
from bdfr.site_downloaders.erome import Erome
|
||||||
from bdfr.site_downloaders.fallback_downloaders.youtubedl_fallback import YoutubeDlFallback
|
from bdfr.site_downloaders.fallback_downloaders.ytdlp_fallback import YtdlpFallback
|
||||||
from bdfr.site_downloaders.gallery import Gallery
|
from bdfr.site_downloaders.gallery import Gallery
|
||||||
from bdfr.site_downloaders.gfycat import Gfycat
|
from bdfr.site_downloaders.gfycat import Gfycat
|
||||||
from bdfr.site_downloaders.imgur import Imgur
|
from bdfr.site_downloaders.imgur import Imgur
|
||||||
@@ -42,10 +42,10 @@ from bdfr.site_downloaders.youtube import Youtube
|
|||||||
('https://i.imgur.com/3SKrQfK.jpg?1', Direct),
|
('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://dynasty-scans.com/system/images_images/000/017/819/original/80215103_p0.png?1612232781', Direct),
|
||||||
('https://m.imgur.com/a/py3RW0j', Imgur),
|
('https://m.imgur.com/a/py3RW0j', Imgur),
|
||||||
('https://v.redd.it/9z1dnk3xr5k61', YoutubeDlFallback),
|
('https://v.redd.it/9z1dnk3xr5k61', YtdlpFallback),
|
||||||
('https://streamable.com/dt46y', YoutubeDlFallback),
|
('https://streamable.com/dt46y', YtdlpFallback),
|
||||||
('https://vimeo.com/channels/31259/53576664', YoutubeDlFallback),
|
('https://vimeo.com/channels/31259/53576664', YtdlpFallback),
|
||||||
('http://video.pbs.org/viralplayer/2365173446/', YoutubeDlFallback),
|
('http://video.pbs.org/viralplayer/2365173446/', YtdlpFallback),
|
||||||
('https://www.pornhub.com/view_video.php?viewkey=ph5a2ee0461a8d0', PornHub),
|
('https://www.pornhub.com/view_video.php?viewkey=ph5a2ee0461a8d0', PornHub),
|
||||||
))
|
))
|
||||||
def test_factory_lever_good(test_submission_url: str, expected_class: BaseDownloader, reddit_instance: praw.Reddit):
|
def test_factory_lever_good(test_submission_url: str, expected_class: BaseDownloader, reddit_instance: praw.Reddit):
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import pytest
|
|||||||
from bdfr.file_name_formatter import FileNameFormatter
|
from bdfr.file_name_formatter import FileNameFormatter
|
||||||
from bdfr.resource import Resource
|
from bdfr.resource import Resource
|
||||||
from bdfr.site_downloaders.base_downloader import BaseDownloader
|
from bdfr.site_downloaders.base_downloader import BaseDownloader
|
||||||
from bdfr.site_downloaders.fallback_downloaders.youtubedl_fallback import YoutubeDlFallback
|
from bdfr.site_downloaders.fallback_downloaders.ytdlp_fallback import YtdlpFallback
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture()
|
@pytest.fixture()
|
||||||
@@ -402,8 +402,8 @@ def test_windows_max_path(tmp_path: Path):
|
|||||||
@pytest.mark.online
|
@pytest.mark.online
|
||||||
@pytest.mark.reddit
|
@pytest.mark.reddit
|
||||||
@pytest.mark.parametrize(('test_reddit_id', 'test_downloader', 'expected_names'), (
|
@pytest.mark.parametrize(('test_reddit_id', 'test_downloader', 'expected_names'), (
|
||||||
('gphmnr', YoutubeDlFallback, {'He has a lot to say today.mp4'}),
|
('gphmnr', YtdlpFallback, {'He has a lot to say today.mp4'}),
|
||||||
('d0oir2', YoutubeDlFallback, {"Crunk's finest moment. Welcome to the new subreddit!.mp4"}),
|
('d0oir2', YtdlpFallback, {"Crunk's finest moment. Welcome to the new subreddit!.mp4"}),
|
||||||
))
|
))
|
||||||
def test_name_submission(
|
def test_name_submission(
|
||||||
test_reddit_id: str,
|
test_reddit_id: str,
|
||||||
|
|||||||
Reference in New Issue
Block a user