SortPhotos — простой Python скрипт для сортировки фотографий и видео файлов с цифровых фото/видео камер по отдельным каталогам.
SortPhotos организует фотографии и видео файлы с камеры или из каталога коллекции используя информацию из EXIF, XMP и IPTC метаданных файлов, поддерживается фильтрация и игнорирование заданных тегов (могут игнорироваться все метаданные кроме одного). Функционал основан на возможностях ExifTool (Perl библиотека и консольная утилита для просмотра, редактирования и создания метаданных).
Без дополнительных опций SortPhotos сортируют файлы по каталогам в иерархию формата "год/день-месяц", при необходимости можно задать любой формат. Файлы "по умолчанию" перемещаются из исходного каталога в целевой, сортируя но не изменяя имён файлов, "по умолчанию" подкаталоги в исходном каталоги игнорируются. При наличии в коллекции дубликатов к именам файлов добавляется "уникальная цифра" (опционально файл может быть перезаписан).
Опционально SortPhotos поддерживает копирование (оставляя исходные файлы без изменений), рекурсивный поиск и автоматическое переименование файлов (в формате "по умолчанию" или пользовательском, по аналогии с именами каталог). Файлы не имеющие метаданных можно сортировать по временной метке (дате последнего изменения) или игнорироваться (при перемещении остаются в исходном каталоге).
SortPhotos позволяет при перемещении и сортировке сместить "время суток" (от 1 до 23 часов), пригодится если необходимо чтобы файлы сделанные до и после полуночи находились в одном каталоге (например фотографии с новогодних праздников). Подробности обработки файлов можно скрыть, отображается только общий прогресс выполнения задания. При необходимости можно автоматизировать перемещение файлов, используя демон-планировщик CRON (Command Run ON).
Для проверки заданных для SortPhotos параметров можно запустить "режим тестирования" (добавив опцию -t или --test), файлы физически не перемещаются и не копируются, но весь процесс полноценно имитируется.
Лицензия: MLT (The MIT License)