On my blog at Steemit I have been posting roundups of the best links I have found, either on Steemit itself, or around the web. Formatting these posts takes a bit of effort so I have been looking for ways to make the non-creative work as automated as possible. One of these tasks is creating thumbnails. Turns out it is really easy to do with Python and does not involve calling the command line ImageMagick tool.
All the examples I found talked about using Image. Unfortunately, I immediately had an issue where my version of Python could not find any Image library. You might find it outputs the same error yourself:
ModuleNotFoundError: No module named ‘Image’
A solution is to instead use PIL:
pip install pil
That worked great on my dev server, but on my Mac not so much. I got the following error message:
Could not find a version that satisfies the requirement pil (from versions: )
No matching distribution found for pil
Locally I needed to use Pillow instead:
pip3 install pillow
Ta-da, it worked!
This code will read the JPG images in the current directory and if one does not already exist, generates a thumbnail with T_ filename.
As well as the Image class, we use Glob to make the file path easier:
glob module finds all the pathnames matching a specified pattern according to the rules used by the Unix shell