Introduction: Mugshots for Grandma's Fridge and Digital Frame

Some years ago, my mother started posting a printout showing all her Grandkids on her fridge.  She is pretty tech savvy (and an Apple user), but keeping photos up to date with the younger ones growing like weeds must have been a chore.  We also gave her a digital picture frame for one Christmas, so I was looking for a way to automate the process and produce both a mugshot sheet for her fridge and easily updatable photos for the frame.

So, several years down the road and with a new digital frame, I've got a system I think "Instructable Worthy", so I'll share it with you.  If you are not afraid of a little Python scripting action, and you like what you see shown here, proceed . . .

Step 1: What You'll Need

Installed opensource software:
   Python (www.python.org)
   Python Image Library (www.pythonware.com/products/pil/)

A directory on your computer containing:
Framer.py python script (provided)
names.csv file (see image below)
   Directory named 'photos' containing pictures (see image below)

The names.csv file is simply a text file with the following fields separated by commas:
    firstName, middleName, lastName, birthDay/Month, birthYear
   (the lastName isn't used, but could be if you want to modify the script).

I like to used one portrait photo showing the face, and one landscape showing a candid shot of them (doing hobbies or with friends).  The file names must start with the name of the child (i.e. Abigail2.jpg).  The script sorts landscape and portraits, and resizes as needed.  If you want to crop, use a 4:3 or 3:4 ratio (360x480 or 480x360) .


Step 2: Let 'er Rip

With the photos, name.csv, and Framer.py in the same directory, you are ready to give it a try.  The easiest way to do this is to open Framer.py in Python's interactive editor IDLE and run it from there.  If you want to use the command line, you don't need any instruction from me.

The script will output some information about what it is doing.  If all goes well, you should see it find the photos and stitch them together.  If the script has trouble finding something it needs, it should let you know.  If you get a script error, you will have to figure it out, or ask for help.  It is not foolproof, and I am not that great a programmer.  You get what you pay for.

If all goes well, you will find the following:
 - A folder named 'black', containing 800x480 images for the digital frame.
 - A file named 'mugshots.jpg' containing composite images for the fridge.
 - A folder named 'white', containing images used for composite image.

If it doesn't go well, you'll have to make up for my poor programming skills.  Or ask for help. 



Step 3: Edit and Customize

Once you get the script to run successfully, it is time to look at the output.  If photos are missing, double-check the file names against those in names.csv.  If you don't like the layout, change the order.  Crop any photos that need it, and run the script again.

The beauty of the script is that all you have to do to update the pictures is drop the new ones in the photo folder and rerun the script.  Shazam!

In the script itself, you can change a number of things, including background colors, sizes, file names, headers, and footers.  Go wild.  Let me know how it goes.

Good luck, and happy framing.  I hope your mom enjoys it as much as mine!