Как стать автором
Обновить

Комментарии 10

Добавлю штрих к решению.
Иногда может быть удобно, если файлы не только разложены по папкам, но и сами по себе их названия несут информацию, по крайней мере, о дате и времени съемки. Лично мне, например, удобнее смотреть на имена файлов, а не на их даты в строке статуса (а full-режим в файловых менеджерах я не люблю). Для автоматического переименования по шаблону использую jhead.
Честно говоря я так и не понял что же такого «удобного и кроссплатформенного» вы предлагаете. Раскладывание файлов по папкам вроде бы предлагают все каталогизаторы, так что тут ничего нового. Batch обработка для создания превьюх — тоже реализована почти везде. А вот удобства предложенной схемы я так и не понял.
Вот, скажем, отсняли вы N файлов. 10% из них составил технический брак, 30% — сложные условия съемки, так что требуется дополнительная коррекция, еще 20% дублей разной степени успешности. И все эти 60% мусора стройными рядами перекочевывают в превьюхи? А потом их вычищать и их превьюх и из оригиналов? А как в вашу схему вписывается печать фотографий? Или под них еще одну структуру заводить?
для печати лично мне удобно открыть папку ORIG и через встроенные вьюеры пометить фото, которые хотелось бы напечатать. В разных ОС это разные механизмы, но как правило они или позволяют выделить файл, или скопировать его в другую папку (как правило, она носит временный характер — после скидывания в сеть или на флешку убивается).

Насчет 60% мусора — да, у меня отправляются в превьюхи, но я лично это недостатком не считаю. Все равно людям показываешь не все, а только альбом и то чаще всего размещенным в сети. Насчет вычищать — если понадобится такая задача, то простое условие (в оригиналах стерто -> стирать из превьюх), позволит одним махом чистить обе директории.
Как я понял от perl'а можно избавиться (dirname и basename, если в полном скрипте он больше ни для чего не используется).
Помимо даты в каталоге я держу ещё и название события (потом вручную переименовываю), но не делаю отдельных каталогов для собрания всех дат по данному событию — слишком глубоко может быть (Место/Событие/Действующие лица и наоборот или ещё какая-нить другая иерархия, особенно в поездке в отпуск), для исключительных мест или событий завожу отдельный альбом в Picasa. Всё из-за того, что нет удобной системы тэгирования.
Деление по дате не очень удачный способ: НГ будет разделён на 31е и 1е, хотя всё событие было 6 часов.
Проверку идентичности файла можно сделать посчитав хэши обоих файлов, но для этого они не должны были изменяться. А иначе придётся сравнивать содержимое.

PS: третьим будете. ;) Сам всё никак не соберусь по комментариям переделать свой скрипт (работает — не трожь!).
Я сталкивался с той-же проблемой — raw.
Решил другим способом (частично):
Файлы я никуда не двигаю и никакую структуру специально не создаю. Вместо этого всю информацию (в том числе и лица, жпс, пользовательские теги… ) закидываю в EXIF заголовки. updateExifDb — обновляет базу, и выдаёт список дубликатов. И selectExifDb — позволяет по заголовкам выбрать набор картинок (потом к примеру делаю папку с кучей симлинков чтобы посмотреть на слайдшов с участием товарища Х ).
Написано для только моего окружения. Но правильные EXIF теги позволяют заботится и о людях, которым я эти картинки даю, и о сервисах на которые выкладываю.
О, это как раз то, о чем я писал в конце статьи. Надо будет попробовать)
когдато сделал примерно тоже самое
exiftool прекрасно справляется с раскладыванием фотографий в дерево по дате (у меня еще и по имени камеры)
но тут закралось две проблемы
1. часто фотографии копируются в несколько мест по ряду причин. и потом находятся. и уже не понятно есть они в архиве или нет — имя файла изменилось. поэтому добавляем повторно. exiftool содает файлики вида имя-01.jpg (индекс автоматом растет) (имя файла у меня тоже меняется на чтото из даты-времени зачемто)
2. зеркалка в режиме серии за секунду делает несколько кадров, которые отличить по времени уже сложно. опять exiftool создает -01 -02

решение — написал скрипт который ищет дубликаты среди кадров с одинаковым базовым именем (не только по имени, но и по размеру и по мд5)

в итоге все разложил. более-менее удобно
но тут снова есть несколько проблем. пока открытых
1. иногда в добавление попадают обработанные файлы — например уменьшил для веба, но с сохранением exif. такой «дубликат» пока не ловится. смотрю лог по размерам (1024 четко отличается от 4000)
2. и самая большая проблема. в архиве довольно большого размера из нескольких тысяч кадров найти нужное нереально!
возникает вопрос ведение именно каталога с тегами а комментариями. вот тут я на данный момент не нашел ничего приличного, работающего с базой превьюшек и при этом кроссплатформенного :(
написать какоето приложение под это руки никак не доходят…
А почему вы при объявлении переменных используете export?
Все равно они используются внутри этого скрипта и никогда не используются вне него.
Да, вы правы. Так, потому что отлаживал через командную строку. В скрипте убрать можно, конечно.
Спасибо за статью. Я как-то прошёл мимо неё, мне только что прислали ссылку.

Сам пользуюсь примерно таким же методом, хотя с другой внутренней структурой (там одна из проблем — много ОС в компьютерной инфраструктуре фотостудии).

Ваш метод наталкивает на размышления, в т.ч. о том, почему Facebook и Picasa не воспринимаются обычно как серьёзные инструменты каталогизации и архивирования фото :) (думаю, что во многом это синдром «большой чёрной зеркалки», частый у наших фотографов).
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации