Commit graph

1008 commits

Author SHA1 Message Date
Roman Gorbil
de991d4048 Fix pickle serialization for ImageCacheFile
When Celery CachedFileBackend used with filesystem storage (django.core.files.storage.FileSystemStorage), everything works fine.
But there are issues with storages.backends.s3boto3.S3Boto3Storage (and it's fix from #391), as well as with django_s3_storage.storage.S3Storage.

Exception was:

```
Traceback (most recent call last):
  ...

  File "/src/django-imagekit/imagekit/cachefiles/__init__.py", line 131, in __bool__
    existence_required.send(sender=self, file=self)
  ...
  File "/libs/utils.py", line 380, in on_existence_required
    file.generate()
  File "/src/django-imagekit/imagekit/cachefiles/__init__.py", line 94, in generate
    self.cachefile_backend.generate(self, force)
  File "/src/django-imagekit/imagekit/cachefiles/backends.py", line 136, in generate
    self.schedule_generation(file, force=force)
  File "/src/django-imagekit/imagekit/cachefiles/backends.py", line 165, in schedule_generation
    _celery_task.delay(self, file.generator, force=force)
  ...
  File "/lib/python3.6/site-packages/kombu/serialization.py", line 221, in dumps
    payload = encoder(data)
  File "/lib/python3.6/site-packages/kombu/serialization.py", line 350, in pickle_dumps
    return dumper(obj, protocol=pickle_protocol)
kombu.exceptions.EncodeError: can't pickle _thread._local objects
```
2018-06-03 18:06:57 +03:00
Venelin Stoykov
7e23384145 Merge pull request #435 from Saritasa/fix-async-with-existance-required
Fix `ImageCacheFile.__repr__` to not send signals
2017-10-11 14:39:10 +03:00
Roman Gorbil
d80f426d3c Fix ImageCacheFile.__repr__ to not send signals
Cachefile strategy may be configured to generate file when file existance required.

To generate images, async backends passes `ImageCacheFile` instance to worker.
Both celery and RQ calls `__repr__` method for each argument to enque call.
And if `__repr__` of object will send `existnace_required` signal, we will get endless recursion.

Issue: #434
2017-10-10 17:39:46 +07:00
Venelin Stoykov
c95542ee2a Merge pull request #431 from x-yuri/generateimages
generateimages: fix taking arguments
2017-09-13 02:22:57 +03:00
Yuri Kanivetsky
de3047e73d Make generateimages support pre Django 1.8 versions 2017-09-12 20:46:24 +03:00
Yuri Kanivetsky
a153812add generateimages: fix taking arguments 2017-08-29 11:27:10 +03:00
Venelin Stoykov
364cd49278 Merge pull request #428 from adamchainz/patch-1
README - use Python 3 print function
2017-07-24 15:55:15 +03:00
Adam Johnson
2e1b574486 README - use Python 3 print function
It's 2017!!!
2017-07-24 13:41:54 +01:00
Venelin Stoykov
3819e61fdb Merge pull request #419 from vstoykov/fix/368-processedimagefield-with-spec
Fixed #368 use specs directly in ProcessedImageField
2017-06-01 20:05:47 +03:00
Venelin Stoykov
845eeab3ce Merge pull request #422 from vstoykov/fix/documentation-for-python3
Improve docs for Python 3 - files should be opened as binary
2017-06-01 20:02:59 +03:00
Venelin Stoykov
755bd34c3e In Python 3 files should be opened as binary 2017-05-31 11:07:37 +03:00
Venelin Stoykov
2b04099dc4 Fixed #368 use specs directly in ProcessedImageField
Thanks to @xcono for pointing to solution to the problem
2017-05-18 23:38:32 +03:00
Venelin Stoykov
c3dbb1edf0 Merge branch 'release/4.0.1' into develop
* release/4.0.1:
  stylling and linting fixes to setup.py
  Bump version to 4.0.1
2017-05-17 18:20:52 +03:00
Venelin Stoykov
681b85d7bf stylling and linting fixes to setup.py 2017-05-17 18:12:57 +03:00
Venelin Stoykov
f96dadbfe0 Bump version to 4.0.1 2017-05-17 17:45:22 +03:00
Venelin Stoykov
499e9e1e07 Merge pull request #417 from Proper-Job/performance_improvement
Performance improvement
2017-05-17 12:27:07 +03:00
Moritz Pfeiffer
36fa53e249 Cleaned up _autodiscovered flag handling. 2017-05-17 09:51:24 +02:00
Moritz Pfeiffer
c74d8424b8 Added huge performance improvement by running imagekit.utils.autodiscover() only once on Django > 1.7 as it was intended. 2017-05-16 14:19:05 +02:00
Venelin Stoykov
3d37fb3d3a Merge pull request #414 from mikob/develop
Improved docs to include example on how to use plain ImageSpec (defin…
2017-05-10 17:00:24 +03:00
mikob
c24455ef36 Update README.st change model->instance for clarity in defining specs outside of models. 2017-05-10 18:03:28 +09:00
mikob
934a5283ad Improved docs to include example on how to use plain ImageSpec (defined outside of model, not ImageSpecField) with AdminThumbnail. 2017-04-10 17:46:29 +09:00
Venelin Stoykov
5281859d60 Merge branch 'release/4.0' into develop
* release/4.0:
  Bump version to 4.0
2017-02-22 15:58:12 +02:00
Venelin Stoykov
46d2a9e663 Bump version to 4.0 2017-02-22 15:35:20 +02:00
Venelin Stoykov
855c9a32b1 Merge pull request #411 from vstoykov/feature/wheel
Add universal wheels support
2017-02-22 15:28:11 +02:00
Venelin Stoykov
16ab0d2c99 Merge pull request #412 from vstoykov/feature/appconfigs-module-loading
Replaces #301 autodiscover works with AppConfig
2017-02-22 15:13:14 +02:00
Venelin Stoykov
96383451a0 Universal wheels! 2017-02-22 15:11:07 +02:00
Venelin Stoykov
755193699b Replaces #301 autodiscover works with AppConfig 2017-02-22 14:21:09 +02:00
Venelin Stoykov
d3369eec89 Merge pull request #410 from vstoykov/feature/ignore-ctags
Ignore autogenerated CTags file
2017-02-22 13:53:21 +02:00
Venelin Stoykov
12fdee81dd Ignore autogenerated CTags file
It used by some IDEs to index all Symbols in the project
2017-02-22 13:28:11 +02:00
Venelin Stoykov
dee14b6c22 Merge pull request #409 from matthewwithanm/fix/south
Fixed #408 Do not try south modelinspector when not needed
2017-02-21 18:42:13 +02:00
Venelin Stoykov
2bc6241f55 Do not try south modelinspector when not needed
Fixed #408
2017-02-21 15:19:40 +02:00
Venelin Stoykov
3546c39178 Merge pull request #403 from vstoykov/improve/caching
Improve caching (By default cache files state "forever")
2017-02-17 14:35:05 +02:00
Venelin Stoykov
4d1ee41f2e Make it possible to configure IMAGEKIT_CACHE_TIMEOUT
By default cache forever
2017-02-17 02:47:19 +02:00
Venelin Stoykov
f6d3cbe4a1 Merge pull request #406 from matthewwithanm/feature/dajngo-1.11
Test against Django 1.11
2017-02-16 17:25:59 +02:00
Venelin Stoykov
48cf03b482 Test against Django 1.11 2017-02-16 14:01:30 +02:00
Venelin Stoykov
175904617e Merge pull request #405 from calmyoga/file-opened-locally
Close the file only if it has been opened locally

Fixed #404
2017-02-16 09:26:17 +02:00
rohit suri
732f7045e4 Close the file only if it has been opened locally 2017-02-15 21:24:32 -08:00
Venelin Stoykov
95e484d073 Cleanup caching configuration
Requires Django 1.3+
2017-02-09 00:43:08 +02:00
Venelin Stoykov
47ff56cfe2 Merge pull request #392 from sobolevn/patch-1
updated readme.rst with a svg badge
2016-11-09 23:47:05 +02:00
Sobolev Nikita
c354bb365a updated readme.rst with a svg badge 2016-11-05 20:47:32 +03:00
Venelin Stoykov
7e4bf0e3d8 Merge pull request #390 from papercapp/develop
honor post_save's update_fields and only fire the source_saved signal…
2016-10-26 14:57:56 +03:00
Hannes Tismer
f1f295e054 honor post_save's update_fields and only fire the source_saved signal when needed 2016-10-24 16:21:53 +02:00
Venelin Stoykov
6457cf0c55 Merge pull request #384 from vstoykov/fix-350
Fixed #350: Error when trying to access width/height after url
2016-08-02 01:53:34 +03:00
Venelin Stoykov
6a8fe5f83c Merge pull request #385 from vstoykov/ignore/vscode
Ignore VSCode workspace config files
2016-07-17 05:28:56 +03:00
Venelin Stoykov
3c0c47d8ed Ignore VSCode workspace config files 2016-07-17 05:23:13 +03:00
Venelin Stoykov
d86ec082f1 Fixed #350: Error when trying to access width/height after url
If the file is closed and something is calling `open` now the file will be opened correctly event if it was already closed
2016-07-17 05:08:01 +03:00
Venelin Stoykov
23a243c51e Merge pull request #383 from vstoykov/cleanup/tests
Fixes #382: Tests no longer leave junk
2016-07-17 05:00:56 +03:00
Venelin Stoykov
07d29b3bf7 Fixes #382: Tests no longer leave junk 2016-07-17 04:54:03 +03:00
Venelin Stoykov
5061679b17 Merge pull request #380 from vstoykov/update-django
Fixes #379 Support for Django 1.10
2016-07-14 13:55:40 +03:00
Venelin Stoykov
5cde74e3e2 Fixes #379 Support for Django 1.10 2016-07-11 01:59:32 +03:00