The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Выпуск программы для управления фотографиями digiKam 5.3"
Отправлено Аноним, 08-Ноя-16 20:15 
Мне помогает простой скриптик ;-)
Скриптик считывает дату создания raw файла (фотографии), и на основе этих данных создает дерево каталогов такого вида:
..
└─ 2016
    ├── 02
    │   └── 12
    │       ├── GIMP
    │       │   └── TSV_7521.xcf
    │       ├── JPG
    │       │   └── TSV_7521.jpg
    │       └── NEF
    │           └── darktable_exported
    │               ├── TSV_7521.jpg
    │               ├── TSV_7521.png
    │               └── TSV_7521.png.xmp
    └── 03
        └── 19
            ├── GIMP
            │   └── TSV_7661.xcf
            ├── JPG
            │   └── TSV_7661.jpg
            └── NEF
                └── darktable_exported
                    └── TSV_7661.jpg

Достаточно внести минимум изменений (под свой фотоаппарат и каталог фотографий), вставить флешку с фотографиями и запустить скрипт.

#!/bin/sh
#
# GPL3 $-)
#

LOG_FILE="${HOME}/photo_err.log" ; rm -f ${LOG_FILE}
echo "*********************** `date +%Y:%m:%d` ***********************" > ${LOG_FILE}
error_handler()
{
    case $1 in
        1) echo "ERROR: No file or directory ${PHOTO_BASE}" >> ${LOG_FILE}
           exit 1
           ;;
        2) echo "INFO: Create directory ${MOUNT_PATH}" >> ${LOG_FILE}
           sudo mkdir -m 755 -p ${MOUNT_PATH}
           ;;
        3) echo "ERROR: No devices found tagged with: LABEL=\"NIKON D610\"" >> ${LOG_FILE}
           exit 3
           ;;
        4) echo "ERROR: Not installed media-gfx/exiv2" >> ${LOG_FILE}
           exit 4
           ;;
        5) echo "INFO: Mount devices ${FLASH_D610} in directory ${MOUNT_PATH}" >> ${LOG_FILE}
           sudo mount ${FLASH_D610} ${MOUNT_PATH}
           ;;
        6) echo "ERROR: I can not mount devices ${FLASH_D610} in directory ${MOUNT_PATH}" >> ${LOG_FILE}
           exit 6
           ;;
        7) echo "INFO: Error copying file $2" >> ${LOG_FILE}
           ;;
        8) echo "ERROR: Error unmounting devices ${FLASH_D610}" >> ${LOG_FILE}
           ;;
    esac
}
PHOTO_BASE="/mnt/images" ; [[ -d ${PHOTO_BASE} ]] || error_handler 1
MOUNT_PATH="/media/D610" ; [[ -d ${MOUNT_PATH} ]] || error_handler 2
FLASH_D610=`sudo blkid|grep D610|awk '{print $1}'|sed 's/://g'` ; [[ -z ${FLASH_D610} ]] && error_handler 3
EXIV2=`/usr/bin/which exiv2 2>/dev/null` ; [[ -z ${EXIV2} ]] && error_handler 4
[[ -z `mount|grep ${FLASH_D610}` ]] && error_handler 5
[[ -z `mount|grep ${FLASH_D610}` ]] && error_handler 6
for FL in `find ${MOUNT_PATH} -type f -iname '*.[jn][pe][gf]'` ; do
    OUT_PATH_BASE=${PHOTO_BASE}/`${EXIV2} ${FL}|grep 'Image timestamp'|awk '{print $4}'|sed 's/:/\//g'`
    mkdir -p ${OUT_PATH_BASE}/{NEF,GIMP,JPG}
    cp -vf ${FL} ${OUT_PATH_BASE}/`echo ${FL}|cut -d '.' -f2|tr a-z A-Z` || error_handler 7 ${FL}
done
sudo umount ${MOUNT_PATH} || error_handler 8
echo "************************** DONE **************************" >> ${LOG_FILE}

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру