4

Прощавай F-Spot або як я порівнював файли

16 березня 2008 р. у Технічні теми

F-Spot бека
Колись, під старим добрим KDE я використовував Digikam для керування своїми фотографіями. Після переходу на Ubuntu і Gnome, я вирішив використовувати щось рідніше для Гнома і “погодився” на штатний для Ubuntu F-Spot.

Виглядав F-Spot ніби нормальним, але мав одну особливість – вперто хотів імпортувати фотографії сторюючи стуруктуру директорій РІК/МІСЯЦЬ/ДЕНЬ. А в мене вони були як мені було зручно (АЛЬБОМ/ПІДАЛЬБОМ, або РІК.МІСЯЦь). Мене раніше це не хвилювало бо Digikam показував мені теки сортовані за датою, тому як би я їх не називав – бачив завжди в інтиїтивно-зрозумілому представлені.

А нова структура, що використовується в F-Spot, так замахувала мене (треба ж спеціально виставляти налаштування при імпорті, щоб використовувати довільну структуру тек) що я вирішив погодитись з F-Spot і перетворити усю колекцію у структуру “РІК/МІСЯЦЬ/ДЕНЬ”.

Перетворив. Спочатку було ніби нормально, а потім сильно пошкодував.

  • F-Spot досить гальмівна програма
  • Знайти фото в F-Spot дуже непросто, гортаючи тисячі фото в декілька рядів
  • Відсутня структура за теками (ніяких тобі “Юрі-28″ чи “Хрестини андрійчика”), лише вручну встановлені мітки
  • Не імпортувались відеофайли (всі мої AVI зняті фотоапаратом пропали!)
  • Файли розкинуто по директоріях-датах по даних Exif (а виявилось я мав купу “чужих” фото знятих з не налаштованою датою в фотоапараті)
  • Якщо файл було змінено (відредаговано) то в F-Spot він розташувався в директорії відповідно до дати ост. редагування, а не оригінальної директорії-альбому, разом з іншими фото того ж дня

Коротше фіаско. Навіть моя Галя, яка не часто працює з фотоальбомами, різко негативно оцінила зручність роботи в F-Spot (я вже мовчу що пропали всі теги з Digikam).

Я спробував поставити Digikam в Gnome (безпосередньо з репозиторію). По-перше, виявилось що він зовсім мало встановив з середовища KDE (чого я найбільше боявся) , а по друге працює шустро, значно швидше F-Spot і має можливості редагування яких і близько нема в F-Spot (мої RAW від Nikon відкриваються “на ура”).

Але от халепа – усі мої файли в структурі сортованій по даті. Як не
парадоксально, але в позбачлених відзнак директорія знайти потрібні
фото – дуже важко! Це дуже погана ідея змушувати міняти структуру для
роботи певної програми! Щоб Ви зрозуміли пікантність ситуації, йдеться десь про 5000 файлів.

Тому я вирішив відновлювати фотоколекцію з CD/DVD архівних копій
(крім останніх 3-х місяців все мало й архіви). Виявилось що два CD (з
десяти) були “підбиті”. З DVD проблем не було. Файли з “битих” дисків
переписував з існуючих директорій F-Spot вручну.

І ось виникла задача: як перевірити що нова колекція, відновлена з
резервних копій містить усі файли що були у колекції F-Spot? Треба
перевірити чи всі фото що є у F-Spot (які я вже переписав в іншу
директорії, “набік”) мають копію у /home/user/Pictures (яка вже має
іншу структуру).

Перше що мені прийшло на думку – просто отримати перелік файлів з
обох директорій і порівняти їх. Складність була хіба в тому щоб
отримати прелік назв файлів, без шляху до файлу, щоб порівнювати
однакові дані.

Отримав перелік усіх файлів зі шлахами (у відповідних директоріях):

#find -name “*.*” > old.list

#find -name “*.*” > new.list

Отримав прелік файлі відрізавши шлях до файлу (split – ділить
стрічку з повною назвою файлу на частини, використовуючи слеш “/” як
розділювач і друкує останній елемент отриманого масиву (a) що
складається з частин стрічки):

#awk ‘{split ($0, a, “/”); print a[split ($0, a, "/")]}’ new.list > new

#awk ‘{split ($0, a, “/”); print a[split ($0, a, "/")]}’ old.list > old

Тепер файл “old” містить усі назви файлів з старої структури F-Spot, а
файл “new” містить усі назви файлів з нової директорії фотографій.
залишилось їх порівняти і визначити чи є в “old” назви якиз нема в
“new”. Чомусь просте “diff old new” мені не підійшло – навіть
посортувавши імена файлів порівнювались цілі блоки, а не стрічки, тому,
візуально результат не сприймався.

Тут я вирішив вистрілити “гарматою по горобцях” – завантажив файли у
відповідні таблиці MySQl бази “new” і “old” і виконав SQL-запит щоб
порівняти таблиці:

SELECT * FROM old

WHERE filename NOT IN

(

SELECT filename FROM new

);

В результаті отримав перелік з близбко 300 файлів які були на диску
в директорії F-Spot але чомусь не потрапили, свого часу, до резервних
копій на диски. Я знайшов переписав їх з F-Spot в нову директорію
(благо здебільшо це виявлялись цілі пропущені альбоми).

Висновки:

  1. Бережи резервні копії змолоду
  2. F-Spot не рулез
  3. Digikam – рулез

Digikam - супер
Digikam чемно просканував всю мою структуру і показує мені все за
датою, за директоріями, за директоріями по даті, за директоріями по
імені – сиджу і радію! Чудовий інтерфейс, редагує фото, купа фільтрів, розуміє RAW з пів-слова, червоні
очі забирає – хай Picasa сховається (до речі Picasa теж
підгальмовувала, хоча і можна використовувати), “бачить” і фото і відео.

P.S.

В пошуках фотоорганізаторів надибав RAW-редактор (прощавай Adobe Lightroom?) – RawTherapee: безкоштовний редактор для Unix/Linux/Mac/Windows. Виглядає просто, але пристойно. Я тішуся і Вам раджу! :)

RawTherapee:

RawTherapee

4 комент., на разі:

  1. Андрій Рущак коментує:

    Мене теж F-Spot вбиває :sad:

    Дякую за статтю, спробую і собі Digikam…

  2. Юра коментує:

    Дякую.

    Аж трохи шкода шо Ubuntu такий, не останній. але не найкращий менеджер пропонує…

  3. Женя коментує:

    А мне понравился GThumb. Он есть в репозиториях. F-Spot в Ubuntu 9.04 постоянно падал, к тому же мне не нравился. Поэтому я его удалил.

  4. Юра коментує:

    Чесно кажучи, зараз, я використовую Picasa 3 для Linux. Зручно працювати, зручно завантажувати фото в Picasaweb…

Залишити коментар




або:
OpenIdGoogleBloggerLivejournalFlickrMyOpenIDYahooWordpress