summaryrefslogtreecommitdiffstats
path: root/client/engine/Protocol.lib
diff options
context:
space:
mode:
authorramon <ramongomez@us.es>2013-12-17 13:00:09 +0000
committerramon <ramongomez@us.es>2013-12-17 13:00:09 +0000
commit936b15eea5efcb5337ca1b6cad39dfae611184f2 (patch)
tree540b976126f5d7bb12f47f29ca6e62319746cfd1 /client/engine/Protocol.lib
parent1506ed1cee22ce71bc03ee595b2201df9e8016a0 (diff)
#565: control de existencia de caché en función {{{ogUpdateCacheIsNecesary}}} (integración de ticket:565).
git-svn-id: https://opengnsys.es/svn/branches/version1.0@4111 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'client/engine/Protocol.lib')
-rwxr-xr-xclient/engine/Protocol.lib35
1 files changed, 13 insertions, 22 deletions
diff --git a/client/engine/Protocol.lib b/client/engine/Protocol.lib
index ecf8f3b5..cec01c0e 100755
--- a/client/engine/Protocol.lib
+++ b/client/engine/Protocol.lib
@@ -1002,27 +1002,22 @@ if [ "$*" == "help" ]; then
return
fi
-#TODO: return 0->true, 1->false; si error, aunque sintaxis devuelve > 1
-
-# Error si no se reciben los argumentos ARG necesarios según la opcion.
-#[ $# == "2" ] || ogRaiseError $OG_ERR_FORMAT "Parametros no admitidos"|| return $?
-#ogCheckStringInGroup "$1" "REPO repo" || ogRaiseError $OG_ERR_FORMAT "El contendor $1 no es valido, solo se admite REPO" || return $?
+#Control de la cache
+ogFindCache || return $(ogRaiseError $OG_ERR_NOTCACHE; echo $?)
[ $# == "2" ] || return $(ogRaiseError $OG_ERR_NOTFOUND " $1 $2"; echo $?)
ogCheckStringInGroup "$1" "REPO repo" || return $(ogRaiseError $OG_ERR_NOTFOUND " $1 $2"; echo $?)
-
-
FILESOURCE=`ogGetPath $1 $2` || return $(ogRaiseError $OG_ERR_NOTFOUND " $1 $2"; echo $?)
#echo "paso 1. si no existe la imagen, confirmamos que es necesaria la actualizacion de la cache."
FILETARGET=`ogGetPath CACHE $2`
if [ -z $FILETARGET ]
then
- # borramos el fichero bf del torrent, en el caso de que se hubiese quedado de algun proceso fallido
- ogDeleteFile CACHE "/$2.torrent.bf" &> /dev/null
- ogDeleteFile CACHE "/$2.sum" &> /dev/null
- echo "TRUE=0, es necesario actualizar. Paso 1, la cache no contiene esa imagen "
- return 0
+ # borramos el fichero bf del torrent, en el caso de que se hubiese quedado de algun proceso fallido
+ ogDeleteFile CACHE "/$2.torrent.bf" &> /dev/null
+ ogDeleteFile CACHE "/$2.sum" &> /dev/null
+ echo "TRUE=0, es necesario actualizar. Paso 1, la cache no contiene esa imagen "
+ return 0
fi
#echo "Paso 2. Comprobamos que la imagen no estuviese en un proceso previo torrent"
@@ -1033,14 +1028,13 @@ then
return 0
fi
-
## En este punto la imagen en el repo y en la cache se llaman igual,
#echo "paso 4. recuperamos o calculamos los md5 de los ficheros"
if [ -f $FILESOURCE.sum ]
then
- MD5SOURCE=$(cat $FILESOURCE.sum)
+ MD5SOURCE=$(cat $FILESOURCE.sum)
else
- MD5SOURCE=$(ogCalculateChecksum $FILESOURCE)
+ MD5SOURCE=$(ogCalculateChecksum $FILESOURCE)
fi
[ ! -f $FILETARGET.sum ] && ogCalculateChecksum $FILETARGET > $FILETARGET.sum
MD5TARGET=$(cat $FILETARGET.sum)
@@ -1049,15 +1043,12 @@ MD5TARGET=$(cat $FILETARGET.sum)
#TODO: que hacer cuando los md5 son distintos. Por defecto borrar.
if [ "$MD5SOURCE" == "$MD5TARGET" ]
then
- echo "FALSE=1, No es neceario actualizar. Paso5.A la imagen esta en cache"
- return 1
+ echo "FALSE=1, No es neceario actualizar. Paso5.A la imagen esta en cache"
+ return 1
else
echo "TRUE=0, Si es necesario actualizar. paso 5.b la imagen en cache es distinta, borramos la imagen anterior y devolvemos 0 para confirmar la actualizacion"
- rm -f $FILETARGET
- return 0
+ rm -f $FILETARGET $FILETARGET.sum $FILETARGET.torrent
+ return 0
fi
-
}
-
-