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.

Source Distribution

photo-import-0.5.0.tar.gz (22.3 kB view details)

Uploaded Source

Built Distribution

photo_import-0.5.0-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

File details

Details for the file photo-import-0.5.0.tar.gz.

File metadata

  • Download URL: photo-import-0.5.0.tar.gz
  • Upload date:
  • Size: 22.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.0 requests/2.24.0 setuptools/50.3.1 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.6

File hashes

Hashes for photo-import-0.5.0.tar.gz
Algorithm Hash digest
SHA256 9a05e3db5eee831f1c025c8cadd6f8baf6582ff1788d6b61ae191a03b712b986
MD5 16984df9fd5f14d74f63b46ce512217a
BLAKE2b-256 b62383b009012c53c703c3e7cf2c586d62c2ba4229764c3c3cfc55e42b9d5e62

See more details on using hashes here.

File details

Details for the file photo_import-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: photo_import-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 8.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.0 requests/2.24.0 setuptools/50.3.1 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.6

File hashes

Hashes for photo_import-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 444f65b3b5248e8126b8e1bc8602148b4de7cc1de29f369e9844c0644fe6eca5
MD5 267c8e09014dc2e49f75aa9e41684691
BLAKE2b-256 8aac9572c9808479151094823f4f3ef795c509b2214e9a743be55f7456835f20

See more details on using hashes here.

Supported by

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