back

Automated Photo Organizer

Purpose

On a monthly(or not so regular) basis, I go through the photos in my SD card, sort them by date, and transfer them to my hard drive. I'd like to automate this process to where I could simply run a script to automatically go through an SD card and then automatically sort them by year/month and move them to a drive of my choosing.

How It's Made

Python was the obvious choice as I am currently looking for a job and a lot of the jobs I have been looking at have Python as a requirement. I havent used it since College and figured this would be a great opportunity to dust off my scripting skills. This uses the tkinter library to interact with the filesystem.

What's Next

I can imagine this project potentially expanding if I find a need for a different method of organizing my photos. I would love to integrate a cloud provider to upload the photos too. I currently use Proton Drive and they did recently release a preview of their JavaScript SDK, that would be a nice addition. For now, this works (even though its pretty slow) for my current needs so we'll leave it at that until I get bothered by it.

I would also like to have some sort of a progress bar for copying/moving files. I also want the ability to move video files.

References

Python Environment Setup

  • I wanted to test this script on multiple devices that I won so I had to set up a few python environments. This was a helpful starting point for my reintroduction to Python.
  • Note: This project uses Tkinter to have some GUI interaction for folder selection. If you do not have this installed on your machine before setting up your pyenv, you'll need to recreate it as the version of python would not have the tkinter dependencies. See more on this github issue on pyenv https://exiv2.org/tags.html
  • EXIF tags to get the date the photo was taken packaging.python.org
  • I am less familiar with how Python projects are structured so I used this to help e