spillz / picty

picty helps you manage photos
57 stars 9 forks source link

A single failed image parse causes the entire program to stop looking for files #17

Open KoenigKrote opened 6 years ago

KoenigKrote commented 6 years ago

On an error: Error creating thumbnail for imagepath/imagename.gif Traceback (most recent call last): File "/home/moosejaw/picty/modules/picty/imagemanip.py", line 963, in make_thumb image = p.close() File "/usr/lib/python2.7/dist-packages/PIL/ImageFile.py", line 424, in close raise IOError("cannot parse this image") IOError: cannot parse this image All traversal for the directory stops, no new images are searched for or added to a collection. Thumbnails continue to be generated, and the program remains open, but it does not continue parsing. It should properly handle this error, log and report it, but skip over and ignore the exception, because otherwise trying to handle any collection over 50 images is completely impossible

spillz commented 6 years ago

Sorry for the delay...

It should properly handle this error, log and report it, but skip over and ignore the exception

Yes, that's what it usually does. Even though the console shows will always show the error message for a failed read, the program should continue scanning the collection. Are you sure it stopped? It's possible it gets hung up somewhere else in the code. A rare but known problem is that the program can get stuck trying to reproduce a thumbnail that it can't create and that takes priority over collection scanning. If you scroll the image off the screen the program will stop doing that and resume scanning the collection.

KoenigKrote commented 6 years ago

I'll play around with it a bit more and see if I can figure out exactly how to recreate this. I suspect it might be related to a deprecated PIL call to fromstring(), which leads to a lot of images missing thumbnails or not being able to display at all with the message: NotImplementedError: fromstring() has been removed. Please call frombytes() instead.