From ab29e17511402f42e290866b726de98fca07926e Mon Sep 17 00:00:00 2001 From: Ali Parlakci Date: Sat, 3 Apr 2021 19:44:53 +0300 Subject: [PATCH] download_factory.py: check if url has ext first --- .../site_downloaders/download_factory.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/bulkredditdownloader/site_downloaders/download_factory.py b/bulkredditdownloader/site_downloaders/download_factory.py index 46e5c9b..bd2a08a 100644 --- a/bulkredditdownloader/site_downloaders/download_factory.py +++ b/bulkredditdownloader/site_downloaders/download_factory.py @@ -22,7 +22,11 @@ class DownloadFactory: @staticmethod def pull_lever(url: str) -> Type[BaseDownloader]: url_beginning = r'\s*(https?://(www\.)?)' - if re.match(url_beginning + r'erome\.com.*', url): + if re.match(url_beginning + r'i\.imgur.*\.gifv$', url): + return Imgur + elif re.match(url_beginning + r'.*/.*\.\w{3,4}$', url): + return Direct + elif re.match(url_beginning + r'erome\.com.*', url): return Erome elif re.match(url_beginning + r'reddit\.com/gallery/.*', url): return Gallery @@ -32,8 +36,6 @@ class DownloadFactory: return GifDeliveryNetwork elif re.match(url_beginning + r'imgur.*', url): return Imgur - elif re.match(url_beginning + r'i\.imgur.*\.gifv$', url): - return Imgur elif re.match(url_beginning + r'redgifs.com', url): return Redgifs elif re.match(url_beginning + r'reddit\.com/r/', url): @@ -44,7 +46,5 @@ class DownloadFactory: return Youtube elif re.match(url_beginning + r'i\.redd\.it.*', url): return Direct - elif re.match(url_beginning + r'.*/.*\.\w{3,4}$', url): - return Direct else: raise NotADownloadableLinkError(f'No downloader module exists for url {url}')