Работа с архивом фотографий.


В очередной раз захотелось навести порядок с фотографиями.

На данный момент набралось что-то около 100 тыс. файлов примерно на 700 гб.

Что не нравится в текущих:

  1. Нет возможности работы на сервере
  2. Нельзя работать из нескольких мест
  3. Нет работы с несколькими местами хранения файлов (т.е. что-то мы положили на внешний винт, что-то на нашем винте и все это слить в экстазе)

Какие программы для фотоархива нашел:

Для сортировки файлов по папкам год/месяц день:

  • скрипт с каким-то просмотрщиком - Wita
  • под Windows - FotoSort

Начал думать как должно все работать. Придумались требования:

  • Поиск дубликатов (по имени, md5, md5 без exif) и различные работы с ними. (Реализован поиск по хэшу и по имени)
  • Поддержка множества хранилищ. (Подключили, проиндексировали, создали превьюшки, живем наслаждаемся, в случае необходимости знаем откуда выдернуть.)
  • Создание превьюшек, т.к. обычно, полновесные фотографии смотреть не обязательно, но сохранить хочется.
  • Работа в консоли и на сервере: периодический поиск дубликатов, создание превьюшек и прочее.
  • Тэги: люди, места, события, даты, автор и т.д. (список дополнять). Выдергивание тэгов из пикасы и пр. Загрузка тэгов из имен каталогов.
  • Поиск по критериям: тэги, дата и прочее
  • Сканирование изменений файлов. На случай, если файлы побились, чтобы могло сообщить.
  • История: когда и куда файл загружен, перемещен, удален.
  • Экспорт - в каталог, облака. Возможно с вычищением EXIF, добавлением тегов и пр.
  • Архивирование. Запуск скрипта с ключами.
  • Массовые операции: перенос по тегам (загрузили в каталог с текущей датой, переместили в каталог тэг/год/месяц/день/дата-событие)

Пока думаю над написание самому. Мысли, чтобы не забыть.

  • Сканирование списка всех файлов и занесение в базу. (Имя, путь, дата, размер, дата внесения в базу) - сделано
  • Подсчет хэша файлов по выборке из базы. (Файлы без хэша и файлы которые давно не сканировали, порциями по Х штук.) - сделано
  • Построение превьюшек для свежих файлов с добавлением тегов к файлам.