Today, I announce photo-importer.
This script started life as my way to integrate Apple’s PhotoStream with Lightroom. It’s a perl script (with a huge stack of dependancies, sorry), that looks through a directory and computes the SHA1 hash of all the images files it finds there. The hashes are compared against an sqlite3 database; duplicated are ignored, uniques are copied to a storage directory and automatically sorted by EXIF date (storage/YYYY/YYYY-MM/YYYY-MM-DD/filename), and the hash is added to the the database. After I left PhotoStream, I pointed the script at the Dropbox “Camera Uploads” folder – this has essentially the same effect – and continued on my merry way. Now that I’ve left the Adobe ecosystem, I’ve decided to rewrite and rename the script, and make it a little more flexible.
It can be used to pull files of memory cards, Dropbox folders, Photostream folders, whathaveyou – and it knows what it’s already taken, so it tries really hard not to import the same files twice. Please keep in mind that some sync services, like Dropbox, add EXIF tags (or so it seems), so the SHA1 hashes don’t match.
If you wanted to get really fancy, you could setup fsevents-tools to auto-import when a memory card was inserted.