🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #6798

Script para extraer fotos de la BenQ 1500

#6798
From: Reinoso G.
Date: Sat, 17 May 2003 13:20
149 lines
6236 bytes
Hola

aqu� va un peque�o script que he conseguido hacer para extraer las fotos 
de la c�mara digital DC1500, la cual a priori no se puede montar o al 
menos yo no lo consigo.

Si veis algun fallo o algo mejorable posteadlo. De momento no s� donde 
colgarlo pero el ftp de ecol parece un buen sitio �no? :)
Lo mando al grupo porque es contestaci�n a otro hilo.

Antes de usarlo recordad configurar las opciones.

Saludos.

-----------------------------------------------------
#!/bin/bash

# Script para extraer todas las fotos de la c�mara BenQ DC-1500 a un
# directorio. Ver las opciones de configuraci�n mas abajo.

# Requiere el paquete cdrecord

# Funcionanamiento:
#  * comprobar si somos root: necesitamos serlo; si no se sale
#  * hacer un cdrecord --scanbus a ver si aparece la c�mara
#	 - si no apareciere mirar en el dir de los m�dulos por si hubiera
#      que cargarlos: se cargan y se repite
#    - si a�n as� no aparece avisar al usuario (puede que est� apagada)
#  * extraer con readcd todo a partir del sector 25 a un fichero en /tmp
#  * montar ese fichero (crear directorio en /tmp como punto de montaje)
#  * crear en el dir de las fotos puesto como opci�n un subdir nuevas-fecha
#  * copiar el subdirectorio de las fotos en el dir nuevo creado
#  * borrar las cosas de tmp

# Llamada:
# sacafotos [volcar]
# El par�metro volcar sustituye a la opci�n "volcar" explicada m�s abajo.

# Esto podr�a ponerse para que se ejecute autom�ticamente al detectar el nuevo
# dispositivo con el paquete hotplug o algo as�.

# TODO: Se le podr�a a�adir que detecte si el kernel del usuario soporta FAT y
# de no ser as� cargar el m�dulo correspondiente.
# Tambien idear una soluci�n elegante al problema de hallar dos fotos con el
# mismo nombre ya en el directorio.
# Y ser�a bueno un control de errores.

# Script By Reinoso G.			17-5-03

################  O P C I O N E S  #######################################

# Usuario de las fotos (para fijar el directorio home y los permisos):
# usuario=reinoso
usuario=reinoso.users
# usuario=root

# Directorio raiz de las fotos:
dirfotos=/home/reinoso/fotos

# Directorio donde volcar las fotos nuevas como una cadena de formato de 
# 'date' por ejemplo (subdirectorio de dirfotos):
volcar=+%d.%m.%y
# volcar=+Nuevas-%d.%m.%y
# volcar=+%d de %B de %Y

# M�dulo de interface USB:
# puede ser usb-ohci, usb-uhci o uhci u otro, si lo tienes compilado en el
# kernel comenta esta opci�n:
ohci=usb-ohci
# ohci=usb-uhci
# ohci=uhci


################  C � D I G O  ###########################################

if [ $1 ]; then $volcar

if [ ! $USER = root ]
then 
	echo Para poder funcionar este script debe ejecutarlo el superusuario.
	exit 1
fi

echo Buscando la c�mara BenQ DC1500...
dev=`cdrecord -s --scanbus | grep 1500 | cut -f2`

if [ -z $dev ]			# no detectada
then
	rev=`uname -r`		# puede ser cosa del m�dulo de mass-storage
	if [ -f "/lib/modules/$rev/kernel/drivers/usb/storage/usb-storage.o" ] &&
		(! lsmod | grep storage > /dev/null)
	then
		echo Cargo el m�dulo de almacenamiento masivo
		modprobe -k usb-storage
		dev=`cdrecord -s --scanbus | grep 1500 | cut -f2`
	fi
fi


if [ -z $dev ] && ! [ -z $ohci ]          # no detectada
then									# a ver si es del ohci
	if [ -f "/lib/modules/$rev/kernel/drivers/usb/$ohci.o" ] &&
        (! lsmod | grep $ohci > /dev/null)
    then
        echo Cargo el m�dulo de interfaz USB
        modprobe -k $ohci
		dev=`cdrecord -s --scanbus | grep 1500 | cut -f2`
    fi
fi


if [ -z $dev ]
then
	echo
	echo No puedo detectar la c�mara. Comprueba que est� conectada al PC y
	echo encendida en modo usb-storage. Puedes hacer un cdrecord --scanbus
	echo para comprobar si aparece.
	exit 2
fi

echo �C�mara encontrada en $dev!
echo
echo Extrayendo el contenido...
echo ----------------------------------
readcd -s -sectors=25 -dev=1,0,0 -f="/tmp/camara.raw"
echo ----------------------------------
echo

mkdir /tmp/sacafotos
mount /tmp/camara.raw /tmp/sacafotos -o loop,umask=111
# Las fotos est�n ahora en /tmp/sacafotos/dcim/100_benq/

volcar=$dirfotos/`date "$volcar"`
echo Moviendo las fotos al directorio $volcar...
mkdir $volcar
mv -f /tmp/sacafotos/dcim/100_benq/* $volcar
chown -R $usuario $volcar

echo
echo Hecho.

------------------------------------------------------


-- 
�������������������������������������������������������������������������
��  Reinoso G.  EA4BAO                      r einoso.bao@wanadoo.e s   ��
��  http://perso.wanadoo.es/reinoso.bao                                ��
������������������������������������������������������������������������� 
Technical Details
Message-ID: <slrnbccdpb.qt.reinoso@EA4BAO.PLLANO.ESP.EU>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!nntp.cs.ubc.ca!cyclone.bc.net!sjc70.webusenet.com!rip!news.webusenet.com!prodigy.com!news.astraweb.com!news-small.astraweb.com!cox.net!news-xfer.cox.net!mainake.escomposlinux.org!reboot.escomposlinux.org!news-7.escomposlinux.org!news

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,97ab8c1645726889,start
X-Google-Attributes: gidf86c8,public
X-Google-ArrivalTime: 2003-05-17 06:22:15 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!nntp.cs.ubc.ca!cyclone.bc.net!sjc70.webusenet.com!rip!news.webusenet.com!prodigy.com!news.astraweb.com!news-small.astraweb.com!cox.net!news-xfer.cox.net!mainake.escomposlinux.org!reboot.escomposlinux.org!news-7.escomposlinux.org!news
From: "Reinoso G." <reinoso@probando.com>
Newsgroups: es.comp.os.linux.programacion
Subject: Script para extraer fotos de la BenQ 1500
Date: Sat, 17 May 2003 15:20:43 +0200
Organization: ecolnet
Lines: 149
Message-ID: <slrnbccdpb.qt.reinoso@EA4BAO.PLLANO.ESP.EU>
Reply-To: rei noso.bao@wanadoo.e s
NNTP-Posting-Host: 80.103.5.80
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
X-Trace: tro.champinet.es 1053177729 3388 80.103.5.80 (17 May 2003 13:22:09 GMT)
X-Complaints-To: reboot@escomposlinux.org
NNTP-Posting-Date: Sat, 17 May 2003 13:22:09 +0000 (UTC)
User-Agent: slrn/0.9.7.4 (Linux)