diff --git a/waifuc/source/web.py b/waifuc/source/web.py index 76ccbc3a..a257e1b2 100644 --- a/waifuc/source/web.py +++ b/waifuc/source/web.py @@ -27,6 +27,7 @@ def __init__(self, group_name: str, session: httpx.Client = None, download_silen self.download_silent = download_silent self.session = session or get_requests_session() self.group_name = group_name + self.file_ext_filter = None # not filter file extension as default @classmethod def _rate_limiter(cls) -> Limiter: @@ -57,7 +58,14 @@ def _iter(self) -> Iterator[ImageItem]: _, ext_name = os.path.splitext(urlsplit(url).filename) filename = f'{self.group_name}_{id_}{ext_name}' td_file = os.path.join(td, filename) - + if self.file_ext_filter: + file_ext=filename.split(".")[-1] + if any(x.replace(".","").lower() in file_ext.lower() for x in self.file_ext_filter): + pass # only want the extension i want + else: + warnings.warn(f'Skipped due to file extension download filter') + continue + try: self._rate_limiter().try_acquire(filename) download_file(