Article View: es.comp.os.linux.programacion
Article #6804Re: Script para extraer fotos de la BenQ 1500
From: bollofino
Date: Sun, 18 May 2003 18:50
Date: Sun, 18 May 2003 18:50
118 lines
4532 bytes
4532 bytes
Reinoso G. escribi�:
>
> Hola
>
> si alguien ha tratado de ejecutar el script que envi� antes habr� visto
> que no funciona, eso es porque pegu� una versi�n a medias y no la
> funcional. Env�o la versi�n correcta, terminada y teniendo en cuenta la
> aportaci�n de Hue-Bond.
> Aunque para ser francos la seguridad de este script aun usando mktemp
> brilla por su ausencia. Para empezar se presta a una condici�n de carrera
> m�s o menos f�cilmente explotable. Para evitar esto ser�a necesario
> realizar todas las operaciones en el directorio de root, y no en tmp.
>
> Bueno, perdonad por enviarlo dos veces.
>
> Saludos.
>
> -------------------------------------
Hola,
me daba un error en tmp=`mktemp -t XXXXXXXXX`
mktemp: invalid option -- t
Usage: mktemp [-d] [-q] [-u] template
He cambiado esa l�nea por:
tmp=`mktemp XXXXXXXXX`
y he tocado la creaci�n del directorio temporal:
tmpd=`mktemp -d -q /tmp/$0.XXXXXXX`
A mi me funciona muy bien. Gracias :-)
Incluyo el c�digo, omitiendo la documentaci�n y la configuraci�n (para no
repetir). Espero que no sea una desconsideraci�n. No soy programador.
Un saludo.
################ C � D I G O ###########################################
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
sleep 1
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
sleep 1
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 ----------------------------------
tmp=`mktemp XXXXXXXXX`
readcd -s -sectors=25 -dev=1,0,0 -f="$tmp"
echo ----------------------------------
echo
tmpd=`mktemp -d -q /tmp/$0.XXXXXXX`
if [ $? -ne 0 ]; then
echo "$0: no puedo crear el directorio temporal"
echo "Saliendo"
exit 3
fi
mount "$tmp" "$tmpd" -o loop,umask=111
# Las fotos est�n ahora en $tmpd/dcim/100_benq/
volcar=$dirfotos/`date "$volcar"`
if [ $1 ]; then volcar=$dirfotos/$1; fi
echo Moviendo las fotos al directorio $volcar...
mkdir $volcar
mv -f $tmpd/dcim/100_benq/* $volcar
chown -R $usuario $volcar
umount $tmpd
rm -f $tmp
rm -rf $tmpd
echo
echo Hecho.
Technical Details
Message-ID:
<ba8kll$jbe$1@antonio.escomposlinux.org>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!nntp.cs.ubc.ca!nntp-relay.ihug.net!ihug.co.nz!west.cox.net!east.cox.net!cox.net!antonio.escomposlinux.org!not-for-mailReferences:
<slrnbccdpb.qt.reinoso@EA4BAO.PLLANO.ESP.EU> <slrnbcdbq5.jv.reinoso@EA4BAO.PLLANO.ESP.EU>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,97ab8c1645726889 X-Google-Attributes: gidf86c8,public X-Google-ArrivalTime: 2003-05-18 11:50:34 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!nntp.cs.ubc.ca!nntp-relay.ihug.net!ihug.co.nz!west.cox.net!east.cox.net!cox.net!antonio.escomposlinux.org!not-for-mail From: bollofino <bollofino@yahoo.es> Newsgroups: es.comp.os.linux.programacion Subject: Re: Script para extraer fotos de la BenQ 1500 Date: Sun, 18 May 2003 20:50:09 +0200 Organization: Ecolnet Lines: 118 Message-ID: <ba8kll$jbe$1@antonio.escomposlinux.org> References: <slrnbccdpb.qt.reinoso@EA4BAO.PLLANO.ESP.EU> <slrnbcdbq5.jv.reinoso@EA4BAO.PLLANO.ESP.EU> NNTP-Posting-Host: 213.red-81-34-17.pooles.rima-tde.net Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8Bit X-Trace: antonio.escomposlinux.org 1053283830 19822 81.34.17.213 (18 May 2003 18:50:30 GMT) X-Complaints-To: antonio@escomposlinux.org NNTP-Posting-Date: Sun, 18 May 2003 18:50:30 +0000 (UTC) User-Agent: KNode/0.7.2