Export iPhoto Library to Folders

Just a quick update on my #noapple efforts.

I work on three main machines: a desktop at the office, a desktop at home and a Macbook Air.

A couple of months ago I started using Ubuntu (Naughty Nightnurse) at work, and I figured I’d wait until 11.10 Onanistic Oliphant was out before upgrading the other systems. I need to write a long post about my decision to use Ubuntu and what I like and dislike about it (no screensaver in 11.10, seriously?) but I’ll have to save that for later. This weekend I got my iMac at home to tri-boot OS X, Windows 7, and Ubuntu.

But for now I want to talk about an iPhoto replacement. I’ve looked at several and I’m leaning strongly toward Shotwell. However, this requires that the image files exist outside of the iPhoto database. I tried just selecting and exporting all of them, but it appears that since several photos have the same name (the default numeric name provided by the camera) the newer files were overwriting the older ones. Kind of a pain when you have around 10,000 images to export.

Through the magic of Google I managed to find a nice little script that will export the images from the iPhoto database into Folders based on events. You can find it on Github, but basically just run:

curl https://raw.github.com/BMorearty/exportiphoto/master/exportiphoto.py > exportiphoto.py

and then

python exportiphoto.py ~/Pictures/iPhoto Library/

I strongly recommend running it in test mode by adding a “-t”. I didn’t realize it, but my iPhoto database had some corruption, and yes, this was after all of the cleanup options available when starting iPhoto while holding down the Command and Option keys.

The problem was in the iPhoto AlbumData.xml XML file. Two of my images had a file type of “^@^@^@^@” instead of “JPEG”, but the real pain was that about 100 photos, around 1%, simply didn’t exist. While there was a thumbnail, there was no image file:

<key>ImagePath</key>
<string></string>

I hope they weren’t anything important.

Anyway, once I corrected the issues in the XML file, the script completed in test mode, and then it did it’s magic and exported all my photos into nice folders, all ready for Shotwell or whatever product I decide to use.

One thought on “Export iPhoto Library to Folders

  1. I recommend Picasa as the start of an image workflow. It is excellent as a browser and *basic* editor. Unfortunately Lightroom doesn’t exist as a workflow tool for Linux (might try Darktable project?). Picasa gets you free 1G of storage online for sharing, but we’re back to the online/cloud issue at that point. 😉

    I currently swap to Windows for Lightroom editing, and either go to Gimp or CS1 for heavy lifting. Picasa is used about half the time on both OSs to setup sharing and help me find things in the many thousands of images I have.

Comments are closed.