Skip to content

"crop": True fails in Python 3.4 #50

@pydanny

Description

@pydanny

Great package! However, when prototyping using it in Python 3.4 on this code:

    image = StdImageField(
        upload_to=upload_to, null=True, blank=True,
        variations={'thumbnail': {'with': 64, 'height': 64, 'crop': True}}
    )

I received this particular error:

[01/Aug/2015 18:05:29]"GET /cheeses/monterey-jack/update/ HTTP/1.1" 200 26223
Internal Server Error: /cheeses/monterey-jack/upload/
Traceback (most recent call last):
  File "/Users/danny/projects/envs/everycheese/lib/python3.4/site-packages/django/core/handlers/base.py", line 132, in get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/contextlib.py", line 30, in inner
    return func(*args, **kwds)
  File "/Users/danny/projects/envs/everycheese/lib/python3.4/site-packages/django/views/generic/base.py", line 71, in view
    return self.dispatch(request, *args, **kwargs)
  File "/Users/danny/projects/envs/everycheese/lib/python3.4/site-packages/django/views/generic/base.py", line 89, in dispatch
    return handler(request, *args, **kwargs)
  File "/Users/danny/projects/envs/everycheese/lib/python3.4/site-packages/django/views/generic/edit.py", line 272, in post
    return super(BaseUpdateView, self).post(request, *args, **kwargs)
  File "/Users/danny/projects/envs/everycheese/lib/python3.4/site-packages/django/views/generic/edit.py", line 215, in post
    return self.form_valid(form)
  File "/Users/danny/projects/everycheese/everycheese/cheeses/views.py", line 40, in form_valid
    self.object = form.save()
  File "/Users/danny/projects/envs/everycheese/lib/python3.4/site-packages/django/forms/models.py", line 463, in save
    construct=False)
  File "/Users/danny/projects/envs/everycheese/lib/python3.4/site-packages/django/forms/models.py", line 105, in save_instance
    instance.save()
  File "/Users/danny/projects/envs/everycheese/lib/python3.4/site-packages/django/db/models/base.py", line 710, in save
    force_update=force_update, update_fields=update_fields)
  File "/Users/danny/projects/envs/everycheese/lib/python3.4/site-packages/django/db/models/base.py", line 738, in save_base
    updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
  File "/Users/danny/projects/envs/everycheese/lib/python3.4/site-packages/django/db/models/base.py", line 800, in _save_table
    for f in non_pks]
  File "/Users/danny/projects/envs/everycheese/lib/python3.4/site-packages/django/db/models/base.py", line 800, in <listcomp>
    for f in non_pks]
  File "/Users/danny/projects/envs/everycheese/lib/python3.4/site-packages/django/db/models/fields/files.py", line 315, in pre_save
    file.save(file.name, file, save=False)
  File "/Users/danny/projects/envs/everycheese/lib/python3.4/site-packages/stdimage/models.py", line 49, in save
    self.render_variations()
  File "/Users/danny/projects/envs/everycheese/lib/python3.4/site-packages/stdimage/models.py", line 59, in render_variations
    self.render_variation(self.name, variation, replace, self.storage)
  File "/Users/danny/projects/envs/everycheese/lib/python3.4/site-packages/stdimage/models.py", line 98, in render_variation
    method=resample
  File "/Users/danny/projects/envs/everycheese/lib/python3.4/site-packages/PIL/ImageOps.py", line 334, in fit
    return out.resize(size, method)
  File "/Users/danny/projects/envs/everycheese/lib/python3.4/site-packages/PIL/Image.py", line 1569, in resize
    return self._new(self.im.resize(size, resample))
TypeError: integer argument expected, got float

As soon as I removed 'crop': True it started to work again.

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions