Félix Baylac Jacqué
While the EXIF crate is pretty good when it comes to parse JPEG and PNG metadata, it does not support non-exif metadata such as MOV metadata. I'd like to organise my videos like my pictures. I did not find a Rust-native swiss army knife library. So I sadly decided to shell out metadata parsing to the exiftool program if the exif crate does not manage to parse the picture metadata. Despite its name, this program can parse a wide range of picture/video shooting metadata outside of EXIF. That's really good. If for some reason exiftool fails to parse the file creation time, we fallback to the unix file datetime.
Picobak is a small CLI utility to help you backup and organize your pictures on a filesystem. It uses the pictures EXIF metadata to store the files in a
year/month/day directory tree like this:
2023 | | |-- 02 |-- 19 |-- pic2.jpg |-- 20 |-- pic1.jpg |-- pic2.jpg |-- pic3.jpg (...)
Send the files you want to backup via stdin, then point picobak to the directory where you archive your pictures:
find "/path/to/pictures/you/want/to/import/" -type f | picobak /your/pictures/library
This program is heavily inspired by Shotwell's backup feature. I actually used that for years to organize my pictures. Sadly, it became more and more unstable along the years, it often fails midway-through the backup. Its implementation is too intimidating for me to try to fix and maintain it. In contrast, this utility is meant to stay small in terms of features scope and codebase. Nevertheless, Shotwell is a great program overall, kudos to the original authors, they have made my life simpler for years <3.