Re: [Django] #18543: Non image file can be saved to ImageField

2023-04-26 Thread Django
#18543: Non image file can be saved to ImageField
-+-
 Reporter:  johnsmith|Owner:  (none)
 Type:  Bug  |   Status:  new
Component:  Database layer   |  Version:  1.4
  (models, ORM)  |
 Severity:  Normal   |   Resolution:
 Keywords:   | Triage Stage:  Accepted
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+-
Changes (by Mariusz Felisiak):

 * status:  assigned => new


-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/01070187bc831064-f64421b8-79e1-4c26-8cd8-fb0cfae9f181-00%40eu-central-1.amazonses.com.


Re: [Django] #18543: Non image file can be saved to ImageField

2023-04-26 Thread Django
#18543: Non image file can be saved to ImageField
-+-
 Reporter:  johnsmith|Owner:  (none)
 Type:  Bug  |   Status:  assigned
Component:  Database layer   |  Version:  1.4
  (models, ORM)  |
 Severity:  Normal   |   Resolution:
 Keywords:   | Triage Stage:  Accepted
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+-
Changes (by Mariusz Felisiak):

 * owner:  deprince => (none)
 * status:  new => assigned


-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/01070187bc83010c-804dbc85-db2c-4871-a9fb-846c6a3c044c-00%40eu-central-1.amazonses.com.


Re: [Django] #18543: Non image file can be saved to ImageField

2012-09-07 Thread Django
#18543: Non image file can be saved to ImageField
-+-
 Reporter:  johnsmith|Owner:  deprince
 Type:  Bug  |   Status:  new
Component:  Database layer   |  Version:  1.4
  (models, ORM)  |   Resolution:
 Severity:  Normal   | Triage Stage:  Accepted
 Keywords:   |  Needs documentation:  0
Has patch:  0|  Patch needs improvement:  0
  Needs tests:  0|UI/UX:  0
Easy pickings:  0|
-+-
Changes (by Adam DePrince ):

 * owner:  nobody => deprince


Comment:

 A quick survey shows that the python options for file seem to be lib magic
 based.   I don't think we really want to see yet another c dependencey in
 django so I'll spend the rest of my djangocon 2012 sprint time banging out
 a pure python port.

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-updates@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [Django] #18543: Non image file can be saved to ImageField

2012-09-07 Thread Django
#18543: Non image file can be saved to ImageField
-+-
 Reporter:  johnsmith|Owner:  nobody
 Type:  Bug  |   Status:  new
Component:  Database layer   |  Version:  1.4
  (models, ORM)  |   Resolution:
 Severity:  Normal   | Triage Stage:  Accepted
 Keywords:   |  Needs documentation:  0
Has patch:  0|  Patch needs improvement:  0
  Needs tests:  0|UI/UX:  0
Easy pickings:  0|
-+-
Changes (by Adam DePrince ):

 * cc: deprince@… (added)


-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-updates@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [Django] #18543: Non image file can be saved to ImageField

2012-09-07 Thread Django
#18543: Non image file can be saved to ImageField
-+-
 Reporter:  johnsmith|Owner:  nobody
 Type:  Bug  |   Status:  new
Component:  Database layer   |  Version:  1.4
  (models, ORM)  |   Resolution:
 Severity:  Normal   | Triage Stage:  Accepted
 Keywords:   |  Needs documentation:  0
Has patch:  0|  Patch needs improvement:  0
  Needs tests:  0|UI/UX:  0
Easy pickings:  0|
-+-

Comment (by Adam DePrince ):

 What constitutes a valid image will depend on how the image is processed
 --- Imagemagick, netpnm and PIL all disagree slightly on the definition of
 "an image".We should also consider what it means to "validate" the
 image --- basic magic number checking will catch the common cases where a
 user uploads something decidedly not an image, like an mp3 file, but we
 should stress in our documentation that just because the image passed our
 "validation" does not  mean what was uploaded is actually an image or even
 safe to process.

 What if ImageField accepted anything for which "file -b --mime-type"
 responds with a match to "$image/" ?

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-updates@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [Django] #18543: Non image file can be saved to ImageField

2012-07-06 Thread Django
#18543: Non image file can be saved to ImageField
-+-
 Reporter:  johnsmith|Owner:  nobody
 Type:  Bug  |   Status:  new
Component:  Database layer   |  Version:  1.4
  (models, ORM)  |   Resolution:
 Severity:  Normal   | Triage Stage:  Accepted
 Keywords:   |  Needs documentation:  0
Has patch:  0|  Patch needs improvement:  0
  Needs tests:  0|UI/UX:  0
Easy pickings:  0|
-+-
Changes (by claudep):

 * stage:  Unreviewed => Accepted


Comment:

 Currently, the verification that the content is an image is done by the
 `ImageField` form field (see its `to_python` method), not in the model
 field.

 Accepted on the base that we should at least:
   * Improve the error message as shown in the previous comment.
   * Clarify the documentation

 Validating that the file is really an image file at the model level might
 be something to evaluate, but with great care, because of the performance
 issue involved by this operation. Opinions/design decision needed here.

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-updates@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



Re: [Django] #18543: Non image file can be saved to ImageField

2012-07-05 Thread Django
#18543: Non image file can be saved to ImageField
-+-
 Reporter:  johnsmith|Owner:  nobody
 Type:  Bug  |   Status:  new
Component:  Database layer   |  Version:  1.4
  (models, ORM)  |   Resolution:
 Severity:  Normal   | Triage Stage:
 Keywords:   |  Unreviewed
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+-
Changes (by niwi):

 * cc: niwi@… (added)
 * needs_better_patch:   => 0
 * needs_tests:   => 0
 * needs_docs:   => 0


Comment:

 I tried to reproduce the bug with this test:

 {{{
 #!python
 @skipUnless(test_images, "PIL not installed")
 def test_model_image_field(self):
 from django.core.files.base import ContentFile
 f = ContentFile(b'not an image')
 with open(os.path.join(os.path.dirname(__file__), "test.png"), 'rb')
 as fp:
 image_data = fp.read()

 instance = ImageFile()
 instance.image.save("foo.png", SimpleUploadedFile("foo.png",
 image_data))

 instance2 = ImageFile()
 instance2.image.save("foo.png", f)
 }}}


 And I get is this:
 {{{
 ==
 ERROR: test_model_image_field
 (modeltests.model_forms.tests.OldFormForXTests)
 --
 Traceback (most recent call last):
   File "/home/niwi/django/tests/modeltests/model_forms/tests.py", line
 1250, in test_model_image_field
 instance2.image.save("foo.png", f)
   File "../django/db/models/fields/files.py", line 348, in save
 super(ImageFieldFile, self).save(name, content, save)
   File "../django/db/models/fields/files.py", line 89, in save
 setattr(self.instance, self.field.name, self.name)
   File "../django/db/models/fields/files.py", line 334, in __set__
 self.field.update_dimension_fields(instance, force=True)
   File "../django/db/models/fields/files.py", line 412, in
 update_dimension_fields
 width = file.width
   File "../django/core/files/images.py", line 15, in _get_width
 return self._get_image_dimensions()[0]
 TypeError: 'NoneType' object has no attribute '__getitem__'

 --
 }}}

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-updates@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



[Django] #18543: Non image file can be saved to ImageField

2012-06-29 Thread Django
#18543: Non image file can be saved to ImageField
--+
 Reporter:  johnsmith |  Owner:  nobody
 Type:  Bug   | Status:  new
Component:  Database layer (models, ORM)  |Version:  1.4
 Severity:  Normal|   Keywords:
 Triage Stage:  Unreviewed|  Has patch:  0
Easy pickings:  0 |  UI/UX:  0
--+
 https://docs.djangoproject.com/en/dev/ref/models/fields/#imagefield
 Inherits all attributes and methods from FileField, but also validates
 that the uploaded object is a valid image.


 I was trying to find out the exact exception that would be raised if a
 file is not an image and it appears that no such image validation is done.
 So I did a test, with a model such as this
 {{{
 class Image(models.Model):
 caption = models.Charfield(max_length=60)
 image = models.ImageField(upload_to='somewhere')

 }}}

 I tried this
 {{{
 f = django.core.files.base.ContentFile('not an image')
 i = myapp.models.Image()
 i.caption("This should throw an error but doesn't")
 i.image.save('bar.jpg', f)
 i.save()
 }}}

 I don't get any errors and the file is saved. Maybe I'm doing something
 wrong but from what the docs say I'm expecting to be prevented from doing
 this.

 From pip freeze
 Django==1.4
 PIL==1.1.7

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-updates@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.