Revert "Edge case coverage"

This reverts commit 2f2b5b749c.
This commit is contained in:
SoulSuck24
2022-09-18 14:30:43 -04:00
parent 2f2b5b749c
commit d4f7deaa68
3 changed files with 8 additions and 7 deletions

View File

@@ -25,7 +25,7 @@ class DownloadFactory:
@staticmethod @staticmethod
def pull_lever(url: str) -> Type[BaseDownloader]: def pull_lever(url: str) -> Type[BaseDownloader]:
sanitised_url = DownloadFactory.sanitise_url(url) sanitised_url = DownloadFactory.sanitise_url(url)
if re.match(r'imgur\.com', sanitised_url): if re.match(r'(i\.)?imgur.*\.gif.+$', sanitised_url):
return Imgur return Imgur
elif re.match(r'(i\.)?(redgifs|gifdeliverynetwork)', sanitised_url): elif re.match(r'(i\.)?(redgifs|gifdeliverynetwork)', sanitised_url):
return Redgifs return Redgifs
@@ -40,6 +40,8 @@ class DownloadFactory:
return Gallery return Gallery
elif re.match(r'gfycat\.', sanitised_url): elif re.match(r'gfycat\.', sanitised_url):
return Gfycat return Gfycat
elif re.match(r'(m\.)?imgur.*', sanitised_url):
return Imgur
elif re.match(r'reddit\.com/r/', sanitised_url): elif re.match(r'reddit\.com/r/', sanitised_url):
return SelfPost return SelfPost
elif re.match(r'(m\.)?youtu\.?be', sanitised_url): elif re.match(r'(m\.)?youtu\.?be', sanitised_url):

View File

@@ -41,11 +41,10 @@ class Imgur(BaseDownloader):
@staticmethod @staticmethod
def _get_data(link: str) -> dict: def _get_data(link: str) -> dict:
try: link = link.rstrip('?')
imgur_id = re.match(r'.*/(.*?)(\..{0,})?$', link).group(1) if re.match(r'(?i).*\.gif.+$', link):
link = f'https://imgur.com/a/{imgur_id}' link = link.replace('i.imgur', 'imgur')
except AttributeError: link = re.sub('(?i)\\.gif.+$', '', link)
raise SiteDownloaderError(f'Could not extract Imgur ID from {link}')
res = Imgur.retrieve_url(link, cookies={'over18': '1', 'postpagebeta': '0'}) res = Imgur.retrieve_url(link, cookies={'over18': '1', 'postpagebeta': '0'})

View File

@@ -24,7 +24,7 @@ class Redgifs(BaseDownloader):
@staticmethod @staticmethod
def _get_link(url: str) -> set[str]: def _get_link(url: str) -> set[str]:
try: try:
redgif_id = re.match(r'.*/(.*?)(\..{0,})?$', url).group(1) redgif_id = re.match(r'.*/(.*?)(\..{3,})?$', url).group(1)
except AttributeError: except AttributeError:
raise SiteDownloaderError(f'Could not extract Redgifs ID from {url}') raise SiteDownloaderError(f'Could not extract Redgifs ID from {url}')