Stop videos from being downloaded as images
Erroneous .gifv extensions such as .giff or .gift resolve to a static image and are downloaded by the direct downloader. (ex: https://i.imgur.com/OGeVuAe.giff )
This commit is contained in:
@@ -24,7 +24,7 @@ class DownloadFactory:
|
||||
@staticmethod
|
||||
def pull_lever(url: str) -> Type[BaseDownloader]:
|
||||
sanitised_url = DownloadFactory.sanitise_url(url)
|
||||
if re.match(r'(i\.)?imgur.*\.gifv$', sanitised_url):
|
||||
if re.match(r'(i\.)?imgur.*\.gif.*$', sanitised_url):
|
||||
return Imgur
|
||||
elif re.match(r'.*/.*\.\w{3,4}(\?[\w;&=]*)?$', sanitised_url) and \
|
||||
not DownloadFactory.is_web_resource(sanitised_url):
|
||||
|
||||
@@ -42,9 +42,9 @@ class Imgur(BaseDownloader):
|
||||
@staticmethod
|
||||
def _get_data(link: str) -> dict:
|
||||
link = link.rstrip('?')
|
||||
if re.match(r'(?i).*\.gifv$', link):
|
||||
if re.match(r'(?i).*\.gif.*$', link):
|
||||
link = link.replace('i.imgur', 'imgur')
|
||||
link = re.sub('(?i)\\.gifv$', '', link)
|
||||
link = re.sub('(?i)\\.gif.*$', '', link)
|
||||
|
||||
res = Imgur.retrieve_url(link, cookies={'over18': '1', 'postpagebeta': '0'})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user