Если камера не умеет mass-storage. Качаем фотки с помощью gphoto2
Обладателей кард-ридеров или фотиков, определяющихся как mass-storage, вряд ли взволнует нижеследующий материал. А вот владельцы Canon`ов да и просто ленивцы, которым проще вставить USB-хвост в камеру, нежели вытащить SD-шку из нее и возиться с кард-ридером, возможно заинтересуются.
И так, скрипт.
#!/bin/bash
# title: PHotoGET
# desc: Retrieve photos from camera
# uses: ap/gphoto2
# by Alexander (su6s) Polyakhov
# Tue Dec 1 23:15:21 MSK 2009
# apolyakhov@gmail.com
# su6s@jabber.ru
# http://juick.com/su6s
# http://blog.su6s.me
# Зададим формат имени каталога для изображений
DIR_NAME="$(date +%Y%m%d)";
#######################################
# Все, что ниже трогать не обязательно#
#######################################
# Переменная NNNN задает начало диапозона
#+ MMMM задает конец диапозона фоток.
#+ Последовательность из четырех цифр —
#+ уникальная часть имени изображения.
#+ Справедливо для камер Canon, Pentax
NNNN="$(echo $1 | grep -E "^[0-9]{4}$")";
MMMM="$(echo $2 | grep -E "^[0-9]{4}$")";
# Убедимся, что диапозон задан верно
if [ -z "$NNNN" ]; then
echo "Bad parameters";
exit 1;
fi
if [ -z "$MMMM" ]; then
echo "Bad parameters";
exit 1;
fi
# Убедимся, что каталог DIR_NAME еще не создан
if [ -d "$DIR_NAME" ]; then
echo "dir ${DIR_NAME}/ exists";
exit 1;
fi
# Создадим каталог DIR_NAME для изображений
mkdir "$DIR_NAME";
# Скачаем изображения от NNNN до MMMM
cd "$DIR_NAME";
FIRST_NAME="$(gphoto2 -L |grep "$NNNN" |tr -d '\#'|awk '{print $1}')";
LAST_NAME="$(gphoto2 -L |grep "$MMMM" |tr -d '\#'|awk '{print $1}')";
gphoto2 -p ${FIRST_NAME}-${LAST_NAME};
exit 0;
Как работает?
Скрипт принимает два параметра. Каждый параметр — число из четырех цифр. Эти числа — уникальная часть имени фотки, обычно отображаются на экране фотика в режиме просмотра.
После запуска скрипт создает каталог для фоток и копирует их в него.
Прочитать еще по теме
Оставьте комментарий!
