diff --git a/catalog/common/downloaders.py b/catalog/common/downloaders.py index 8d7caa47..0b7fe1a2 100644 --- a/catalog/common/downloaders.py +++ b/catalog/common/downloaders.py @@ -170,6 +170,7 @@ class ProxiedDownloader(BasicDownloader): last_try = False url = urls.pop(0) if len(urls) else None resp = None + resp_type = None while url: resp, resp_type = self._download(url) if ( @@ -219,9 +220,12 @@ class ImageDownloaderMixin: img = Image.open(BytesIO(raw_img)) img.load() # corrupted image will trigger exception content_type = response.headers.get("Content-Type") - self.extention = filetype.get_type( + file_type = filetype.get_type( mime=content_type.partition(";")[0].strip() - ).extension + ) + if file_type is None: + return RESPONSE_NETWORK_ERROR + self.extention = file_type.extension return RESPONSE_OK except Exception: return RESPONSE_NETWORK_ERROR diff --git a/catalog/models.py b/catalog/models.py index c541088c..5b4f458d 100644 --- a/catalog/models.py +++ b/catalog/models.py @@ -21,9 +21,10 @@ import logging _logger = logging.getLogger(__name__) -if settings.SEARCH_BACKEND == "MEILISEARCH": - from .search.meilisearch import Indexer -elif settings.SEARCH_BACKEND == "TYPESENSE": +# if settings.SEARCH_BACKEND == "MEILISEARCH": +# from .search.meilisearch import Indexer +# el +if settings.SEARCH_BACKEND == "TYPESENSE": from .search.typesense import Indexer else: diff --git a/catalog/search/views.py b/catalog/search/views.py index 17a8f8e2..8a4c3648 100644 --- a/catalog/search/views.py +++ b/catalog/search/views.py @@ -66,7 +66,7 @@ def enqueue_fetch(url, is_refetch): return job_id -def fetch(request, url, is_refetch: bool = False, site: AbstractSite = None): +def fetch(request, url, is_refetch: bool = False, site: AbstractSite | None = None): if not site: site = SiteManager.get_site_by_url(url) if not site: