コード例 #1
0
ファイル: models.py プロジェクト: djangozoom/fixcity
 def clean_photo(self):
     photo = self.cleaned_data.get('photo')
     if not photo:
         return photo
     from fixcity.exif_utils import rotate_image_by_exif
     from PIL import Image
     img = Image.open(photo)
     rotated = rotate_image_by_exif(img)
     if not (rotated is img):
         photo.seek(0)
         rotated.save(photo)
     return photo
コード例 #2
0
 def forwards(self, orm):
     """Fix all uploaded images."""
     from PIL import Image
     from fixcity.exif_utils import rotate_image_by_exif
     from django.conf import settings
     import os.path
     import glob
     root = os.path.abspath(os.path.join(settings.MEDIA_ROOT,
                                         'images', 'racks'))
     for path in glob.glob(root + '/*jpg') + glob.glob(root +  '/*JPG'):
         img = Image.open(path)
         rotated = rotate_image_by_exif(img)
         if rotated != img:
             rotated.save(path)
コード例 #3
0
ファイル: test_utils.py プロジェクト: djangozoom/fixcity
 def test_rotate_image_by_exif(self):
     img = self._make_image('test_exif.jpg')
     rotated = exif_utils.rotate_image_by_exif(img)
     self.failIfEqual(img, rotated)
     # Unfortunately PIL doesn't save exif info on new images...
     self.assertEqual(exif_utils.get_exif_info(rotated), {})
コード例 #4
0
ファイル: test_utils.py プロジェクト: djangozoom/fixcity
 def test_rotate_image_by_exif__no_info(self):
     img = self._make_image('test_no_exif.jpg')
     self.assertEqual(img, exif_utils.rotate_image_by_exif(img))