Closed zimeon closed 8 years ago
Have repeated the problem with current head of image_api_2.1 branch:
(py3)simeon@RottenApple iiif>wget http://stor.artstor.org/stor/41f7f2fd-4df0-4d02-a056-ac0f584be3f7
...
2016-05-24 13:11:16 (3.26 MB/s) - '41f7f2fd-4df0-4d02-a056-ac0f584be3f7' saved [15036896/15036896]
(py3)simeon@RottenApple iiif>file 41f7f2fd-4df0-4d02-a056-ac0f584be3f7
41f7f2fd-4df0-4d02-a056-ac0f584be3f7: TIFF image data, big-endian
(py3)simeon@RottenApple iiif>rm -rf /tmp; iiif_static.py --dst=/tmp 41f7f2fd-4df0-4d02-a056-ac0f584be3f7
rm: /tmp: Permission denied
iiif_static.py: source file: 41f7f2fd-4df0-4d02-a056-ac0f584be3f7
Traceback (most recent call last):
File "/Users/simeon/miniconda3/envs/py3/lib/python3.5/site-packages/PIL/JpegImagePlugin.py", line 580, in _save
rawmode = RAWMODE[im.mode]
KeyError: 'I;16B'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
...
File "/Users/simeon/miniconda3/envs/py3/lib/python3.5/site-packages/iiif-0.6.1-py3.5.egg/iiif/static.py", line 207, in generate
self.generate_tile(region,size)
File "/Users/simeon/miniconda3/envs/py3/lib/python3.5/site-packages/iiif-0.6.1-py3.5.egg/iiif/static.py", line 259, in generate_tile
m.derive(srcfile=self.src, request=r, outfile=os.path.join(self.dst,path))
File "/Users/simeon/miniconda3/envs/py3/lib/python3.5/site-packages/iiif-0.6.1-py3.5.egg/iiif/manipulator.py", line 113, in derive
self.do_format(self.request.format)
File "/Users/simeon/miniconda3/envs/py3/lib/python3.5/site-packages/iiif-0.6.1-py3.5.egg/iiif/manipulator_pil.py", line 166, in do_format
self.image.save(self.outfile,format=format)
File "/Users/simeon/miniconda3/envs/py3/lib/python3.5/site-packages/PIL/Image.py", line 1687, in save
save_handler(self, fp, filename)
File "/Users/simeon/miniconda3/envs/py3/lib/python3.5/site-packages/PIL/JpegImagePlugin.py", line 582, in _save
raise IOError("cannot write mode %s as JPEG" % im.mode)
OSError: cannot write mode I;16B as JPEG
(py3)simeon@RottenApple iiif>
Have added mode conversions in PIL in e8b306c, example above now OK:
(py3)simeon@RottenApple iiif>rm -rf /tmp/dst; ./iiif_static.py --dst=/tmp 41f7f2fd-4df0-4d02-a056-ac0f584be3f7
iiif_static.py: source file: 41f7f2fd-4df0-4d02-a056-ac0f584be3f7
iiif.static: /tmp / 41f7f2fd-4df0-4d02-a056-ac0f584be3f7/0,0,512,512/512,/0/default.jpg
iiif.static: /tmp / 41f7f2fd-4df0-4d02-a056-ac0f584be3f7/0,512,512,512/512,/0/default.jpg
iiif.static: /tmp / 41f7f2fd-4df0-4d02-a056-ac0f584be3f7/0,1024,512,512/512,/0/default.jpg
iiif.static: /tmp / 41f7f2fd-4df0-4d02-a056-ac0f584be3f7/0,1536,512,512/512,/0/default.jpg
iiif.static: /tmp / 41f7f2fd-4df0-4d02-a056-ac0f584be3f7/0,2048,512,512/512,/0/default.jpg
iiif.static: /tmp / 41f7f2fd-4df0-4d02-a056-ac0f584be3f7/0,2560,512,512/512,/0/default.jpg
...
iiif.static: /tmp / 41f7f2fd-4df0-4d02-a056-ac0f584be3f7/info.json
Where to get some test files? Perhaps look at https://github.com/python-pillow/Pillow/tree/master/Tests/images ... but then have to think what to do about PIL license.
This is fixed with v1.0.1 on pypi, have tested with a nice fresh install.
Reported by @jgreidy: