Add blacklist for web filetypes

This commit is contained in:
Serene-Arc
2021-05-25 18:59:32 +10:00
parent f47688812d
commit 87959028e5
2 changed files with 32 additions and 1 deletions

View File

@@ -24,7 +24,8 @@ class DownloadFactory:
sanitised_url = DownloadFactory.sanitise_url(url)
if re.match(r'(i\.)?imgur.*\.gifv$', sanitised_url):
return Imgur
elif re.match(r'.*/.*\.\w{3,4}(\?[\w;&=]*)?$', sanitised_url):
elif re.match(r'.*/.*\.\w{3,4}(\?[\w;&=]*)?$', sanitised_url) and \
not DownloadFactory.is_web_resource(sanitised_url):
return Direct
elif re.match(r'erome\.com.*', sanitised_url):
return Erome
@@ -55,3 +56,20 @@ class DownloadFactory:
split_url = split_url.netloc + split_url.path
split_url = re.sub(beginning_regex, '', split_url)
return split_url
@staticmethod
def is_web_resource(url: str) -> bool:
web_extensions = (
'asp',
'cfm',
'cfml',
'css',
'html',
'js',
'php',
'xhtml',
)
if re.match(rf'(?i).*/.*\.({"|".join(web_extensions)})$', url):
return True
else:
return False