mirror of
https://github.com/pinry/pinry.git
synced 2026-05-07 13:27:09 +02:00
Only load Image once when creating all three Thumbnail sizes.
This commit is contained in:
@@ -35,8 +35,7 @@ class ImageManager(models.Manager):
|
||||
# a chance of getting Database into a inconsistent state when we
|
||||
# try to create thumbnails one by one later
|
||||
image = self.create(image=obj)
|
||||
for size in settings.IMAGE_SIZES.keys():
|
||||
Thumbnail.objects.get_or_create_at_size(image, size)
|
||||
Thumbnail.objects.get_or_create_at_sizes(image, settings.IMAGE_SIZES.keys())
|
||||
return image
|
||||
|
||||
|
||||
|
||||
@@ -52,8 +52,7 @@ class ImageSerializer(serializers.ModelSerializer):
|
||||
|
||||
def create(self, validated_data):
|
||||
image = super(ImageSerializer, self).create(validated_data)
|
||||
for size in settings.IMAGE_SIZES:
|
||||
Thumbnail.objects.get_or_create_at_size(image, size)
|
||||
Thumbnail.objects.get_or_create_at_sizes(image, settings.IMAGE_SIZES.keys())
|
||||
return image
|
||||
|
||||
|
||||
|
||||
@@ -12,12 +12,6 @@ from .helpers import create_image, create_user, create_pin
|
||||
from core.models import Pin, Image
|
||||
|
||||
|
||||
def filter_generator_for(size):
|
||||
def wrapped_func(obj):
|
||||
return Thumbnail.objects.get_or_create_at_size(obj, size)
|
||||
return wrapped_func
|
||||
|
||||
|
||||
def mock_requests_get(url, **kwargs):
|
||||
response = mock.Mock(content=open('logo.png', 'rb').read())
|
||||
return response
|
||||
|
||||
@@ -32,8 +32,7 @@ def create_tag(name):
|
||||
|
||||
def create_image():
|
||||
image = Image.objects.create(image=ImageFile(open(TEST_IMAGE_PATH, 'rb')))
|
||||
for size in settings.IMAGE_SIZES.keys():
|
||||
Thumbnail.objects.get_or_create_at_size(image, size)
|
||||
Thumbnail.objects.get_or_create_at_sizes(image, settings.IMAGE_SIZES.keys())
|
||||
return image
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user