Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Phockup | 624 | 1 | 20 days ago | 8 | September 06, 2016 | 15 | mit | Python | ||
Media sorting tool to organize photos and videos from your camera in folders by year, month and day. | ||||||||||
Iosrepo | 37 | 6 years ago | ||||||||
A list of resources & libraries for iOS and Swift. | ||||||||||
Pedx | 19 | 4 years ago | 1 | mit | Python | |||||
Python tools for working with PedX dataset. | ||||||||||
Exifdatetime | 17 | 2 months ago | 2 | mit | PowerShell | |||||
Script to read/write/update EXIF date and time information in image files and photos | ||||||||||
Adri | 14 | 5 months ago | mit | Ruby | ||||||
Organize photos by date and location in a directory structure | ||||||||||
Ipcam Timelapse | 5 | 4 years ago | 5 | Python | ||||||
Timelapse generator for streaming IP cameras | ||||||||||
Importphotos | 3 | 12 years ago | Python | |||||||
Python tool to use EXIF data to import photos from removable media (including cameras) into a shot-date folder | ||||||||||
Photo_organizer | 3 | 5 years ago | mit | Python | ||||||
Photo archive folder organization program. | ||||||||||
Image Sorter | 3 | 6 years ago | mit | Python | ||||||
A python script to sort (1) pictures into folders by date and (2) pictures of panoramas into subfolders | ||||||||||
Photo Date Sync | 2 | 9 years ago | JavaScript | |||||||
Synchronize the dates of pictures taken with different cameras. |
Basic python tools to organize large directories full of NIKON .NEF and JPEG images into folders organized by picture date. The date is extracted from EXIF metadata, in priority order as follows: CreateDate, DateTimeOriginal, ModifyDate tags, then as fallback filesystem created or last-modified attributes.
Fast Start
python ./organize.py /users/stephbu/pictures
Advanced
This code is intend to enable me to quickly manipulate flat folders full of files into a year/month/day encoded set of folders that I can merge into my long term storage.
I take a lot of photos and sweep them off camera into "Work in Progress" folders until I have time to process them at a later date. It takes less than an hour to generate more photos than you can process in one day. When I process my photos I move them into date encoded set of folders for long term storage.
My workflow generates folder structure that look like this:
photo_root/
work_in_progress/
date1/
date2/
daten/
year1/
month1-day1 meaningful label/
month2-day1 meaningful label/
yearn/
month-day meaningful label/
Nikon's NEF format is an extension of the TIFF format. Metadata such as time, camera, lense etc. are encoded into the NEF file as EXIF data structures. I selected Python Pillow libraries to parse the TIFF EXIF metadata for two reasons:
I use Tag #306 DateTimeOriginal to determine the camera source date taken. This encoded string omits timezone information and is formatted as:
YYYY:mm:dd HH:MM:SS
While developing the code, I discovered that the NEF tags don't appear to encode the Timezone information (Tag #34858 - TimezoneOffset) even though the camera is explicitly set for the timezone (determines it's Local TZ). Workarounds suggested parsing GPS data if it was available. I've not had a chance to try that out yet, so I ended up with an assumption that the NEF data is encoded in Local Timezone format.
The code copies or moves the file without altering the original - for a source structure
sourcefolder/
DSC0001.NEF (taken in 1/1/2014)
subfolder1/
DSC0002.NEF (taken in 1/1/2014)
subfolder2/
DSC0003.NEF (taken in 31/1/2014)
The output would be:
sourcefolder/
2014/
01-01/
DSC0001.NEF
DSC0002.NEF
01-31/
DSC0003.NEF
Some useful further reading on the subject