Skip to main content

Application to import photos into a hierarchical structure based on the EXIF data of the photos.

Project description

A tool for importing photos from one directory into a hierarchical folder structure in another directory based on the EXIF data of the photos.

The idea is that you’re able to sort a folder full of photos (such as those straight off a memory card) into a navigable hierarchy like the following:

$ tree Photos
Photos
└── 2019
    ├── 03
    │   ├── 11
    │   │   ├── photo1.jpg
    │   │   ├── photo2.jpg
    │   │   └── photo3.jpg
    │   ├── 12
    │   │   └── photo4.jpg
    │   └── 13
    └── 04
        └── 01
            ├── photo5.jpg
            └── photo6.jpg

Usage

Installation

The photo-import command can be installed via pip as follows:

$ pip install photo-import
$ photo-import --version
0.3.0

Usage

Basic usage is as follows:

$ photo-import /path/to/source/image.jpg /path/to/sorted/photos/

This will move image.jpg into an appropriate folder within the /path/to/sorted/photos/ directory, resulting in, for example, /path/to/sorted/photos/2019/03/11/image.jpg.

$ photo-import /path/to/photo-source /path/to/sorted/photos/

This will move all photos found within the /path/to/photo-source directory into an appropriate folder within the /path/to/sorted/photos/ directory, resulting in, for example, /path/to/sorted/photos/2019/03/11/image.jpg.

Further usage instructions are provided by using the --help option:

$ photo-import --help

Development

Running from source

There’s also a “runner” python script provided in the root of this repository for convenience when the source code is checked out locally:

$ pip install -r requirements.txt
$ python runner.py --version
0.3.0
$ ./runner.py --version
0.3.0

Commit message format

Commit messages should conform to the conventional commits standard, and to help with this you should install the commitizen tool:

$ pip install -r dev-requirements.txt
$ git add .
$ cz commit

Tests

To run the test suite locally, use nose2 for unit tests, and behave for behavioural tests (Note that running behave will run python setup.py install, installing photo-import into your current environment):

$ pip install -r requirements.txt
$ nose2
$ behave

Project details


Download files

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

Files for photo-import, version 0.4.2
Filename, size File type Python version Upload date Hashes
Filename, size photo_import-0.4.2-py3-none-any.whl (8.7 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size photo-import-0.4.2.tar.gz (22.3 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page