🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Script para extraer fotos de la BenQ 1500

#6804
From: bollofino
Date: Sun, 18 May 2003 18:50
118 lines
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-mail
References: <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