Organize image files by date taken
Project description
Organize image files by date taken
All tiff and jpg images under the given source directory are placed in the destination directory under subdirectories with names corresponding to when they are taken. Files with no or invalid exif metadata are put in the unknown directory.
The destination directory have the following structure after processing:
2013/ 2013_12_20/ 1.jpg 2014/ 2014_03_06/ 2.jpg 3.jpg 2014_07_01/ 4.jpg unknown/ 5.jpg
The original filenames are preserved. If a destination filepath already exist, there are two possible outcomes:
If the old filepath’s content is identical to the new one, the program does nothing and continues to the next image.
If the contents of the old and new files are different, it will append an integer until the content of an existing file matches or the path does not already exist. This means that if there are three source files named 1.jpg with identical date metadata but different contents, the final names will be 1.jpg, 1-1.jpg and 1-2.jpg.
Installation
Install with one of the following commands:
$ easy_install imagesort
or alternatively if you have pip installed:
$ pip install imagesort
Usage
Type imagesort -h for a list of available options.
Examples
Copy images from inputdir to outputdir:
$ imagesort copy inputdir outputdir
Use the dry-run flag to see which actions will be performed without actually doing anything:
$ imagesort --dry-run copy inputdir outputdir
Replace copy with move or hardlink to move or hardlink files instead of copying them.
Development
Testing
Running the tests during development requires pytest. Install dependencies with
$ pip install -r requirements.txt
and then run tests with
$ py.test
Alternatively, if you have tox installed, just run tests by running:
$ tox
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
Built Distribution
Hashes for imagesort-0.4.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a6fc99cd7672a835bb10ffdaa734e37e22a0ec1578b8e9a46ced9b49b165720 |
|
MD5 | 72d9fb9b35131dc5de4bd63a64b602a5 |
|
BLAKE2b-256 | fd6312cff99f7b11109545d9d12e663e0b738fc677266087a33e6c34ec413aab |