From edef54ccd7b256bec0701047d8d9284ea57740bc Mon Sep 17 00:00:00 2001 From: volksman Date: Mon, 18 Jun 2018 12:54:22 -0400 Subject: [PATCH] Remove additional queries looking for cached dimensions --- easy_thumbnails/files.py | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/easy_thumbnails/files.py b/easy_thumbnails/files.py index 54d03c56..6ac42201 100644 --- a/easy_thumbnails/files.py +++ b/easy_thumbnails/files.py @@ -105,19 +105,22 @@ def database_get_image_dimensions(file, close=False, dimensions=None): storage_hash = utils.get_storage_hash(file.storage) dimensions = None dimensions_cache = None - try: - thumbnail = models.Thumbnail.objects.select_related('dimensions').get( - storage_hash=storage_hash, name=file.name) - except models.Thumbnail.DoesNotExist: - thumbnail = None - else: + if settings.THUMBNAIL_CACHE_DIMENSIONS: try: - dimensions_cache = thumbnail.dimensions - except models.ThumbnailDimensions.DoesNotExist: - dimensions_cache = None - if dimensions_cache: - return dimensions_cache.width, dimensions_cache.height + thumbnail = models.Thumbnail.objects.select_related('dimensions').get( + storage_hash=storage_hash, name=file.name) + except models.Thumbnail.DoesNotExist: + thumbnail = None + else: + try: + dimensions_cache = thumbnail.dimensions + except models.ThumbnailDimensions.DoesNotExist: + dimensions_cache = None + if dimensions_cache: + return dimensions_cache.width, dimensions_cache.height + dimensions = get_image_dimensions(file, close=close) + if settings.THUMBNAIL_CACHE_DIMENSIONS and thumbnail: # Using get_or_create in case dimensions were created # while running get_image_dimensions.