diff --git a/bulkredditdownloader/site_downloaders/download_factory.py b/bulkredditdownloader/site_downloaders/download_factory.py index 466dc3d..0431d30 100644 --- a/bulkredditdownloader/site_downloaders/download_factory.py +++ b/bulkredditdownloader/site_downloaders/download_factory.py @@ -44,7 +44,7 @@ class DownloadFactory: return Youtube elif re.match(url_beginning + r'i\.redd\.it.*', url): return Direct - elif re.match(url_beginning + r'.*\..{3,4}$', url): + elif re.match(url_beginning + r'.*/.*\.\w{3,4}$', url): return Direct else: raise NotADownloadableLinkError('No downloader module exists for url {}'.format(url)) diff --git a/bulkredditdownloader/tests/downloaders/test_download_factory.py b/bulkredditdownloader/tests/downloaders/test_download_factory.py index 5e1b1d0..6f7cba7 100644 --- a/bulkredditdownloader/tests/downloaders/test_download_factory.py +++ b/bulkredditdownloader/tests/downloaders/test_download_factory.py @@ -46,6 +46,10 @@ def test_factory_lever_good(test_submission_id: str, expected_class: BaseDownloa @pytest.mark.parametrize('test_url', ( 'random.com', 'bad', + 'https://www.google.com/', + 'https://www.google.com', + 'https://www.google.com/test', + 'https://www.google.com/test/', )) def test_factory_lever_bad(test_url: str): with pytest.raises(NotADownloadableLinkError):