Skip to main content

A Python script to keep my photos from Dropbox organized.

Project description

https://img.shields.io/pypi/v/minchin.scripts.photosorter.svg?style=flat https://travis-ci.org/MinchinWeb/minchin.scripts.photosorter.svg?branch=master https://coveralls.io/repos/MinchinWeb/minchin.scripts.photosorter/badge.svg?branch=master

A little Python script to keep my photos from Dropbox organized. Designed to be run intermittently, but will run forever by default.

It watches a source directory for modifications and moves new image files to a target directory depending on when the photo was taken, using EXIF data and creation date as a fallback.

Directory and file names follow a simple naming convention (YYYY-MM/YYY_MM_DD/YYYY-MM-DD hh:mm:ss.ext) that keeps everything neatly organized. Duplicates are detected and ignored based on their SHA1 hash. Photos taken in the same instant get de-duplicated by adding a suffix (-1, -2, etc) to their filenames.

The result looks somewhat like this:

├── 2013-01 │   ├── 2013_01_05 │ │   ├── 2013-01-0513.24.45.jpg │ │   ├── 2013-01-0514.25.54.jpg │ │   └── 2013-01-0521.28.48-1.jpg │   ├── 2013_01_06 │ │   ├── 2013-01-0616.05.02.jpg │ │   ├── 2013-01-0619.59.25.jpg │ │   ├── 2013-01-0620.40.28.jpg │ │   └── 2013-01-0621.14.38.jpg │   └── 2013_01_08 │    └── 2013-01-0811.45.51.jpg ├── 2013-02 | └─ … ├── … ├── 2013-12 ├── 2014-01 ├── 2014-02 ├── … ├── 2014-12 ├── …

I use C:\Users\[windows username\Dropbox\Camera Uploads as the source directory and Z:\Photos as the target. This allows me to move my photo from Dropbox to a local drive, and merge them with the rest of my photo collection.

Inspired by

Setup

The easiest way to install the script is through pip:

> pip install minchin.scripts.photosorter

Run

Watch src_dir and sort incoming photos into dest_dir:

> photosorter src_dir dest_dir

When you’re done with it, Ctrl + C will end the program.

If you also want to move the existing files in src_dir (which are, by default, ignored):

> photosorter src_dir dest_dir –move-existing

Run on System Startup

  1. Move photosorter.conf.example to /etc/init as photosorter.conf and edit it to suit your needs by replacing the user, source and target directories.

  2. Run $ sudo start photosorter.

  3. Check the logs at /var/log/upstart/photosorter.log.

Meta

Distributed under the MIT license. See LICENSE.txt for more information.

https://github.com/MinchinWeb/minchin.scripts.photosorter

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

minchin.scripts.photosorter-2.0.0.tar.gz (5.9 MB view hashes)

Uploaded Source

Built Distribution

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page