]> git.llucax.com Git - z.facultad/75.08/llamadas.git/blobdiff - aficonf
agrego código y funciones utiles para el manejo de lockeo de archivos
[z.facultad/75.08/llamadas.git] / aficonf
diff --git a/aficonf b/aficonf
index 68e5baef875515a1f89e6916693985683160e48d..c2a2ae70c5bc1e5cf41a1640d245d74a92b72558 100755 (executable)
--- a/aficonf
+++ b/aficonf
@@ -7,7 +7,7 @@
 #trap "echo ; echo 'No use CTRL+C para salir. Tome la opción 4 en el menú.' ; echo" INT
 
 # TODO : esto lo debe modificar el instalador, no?
 #trap "echo ; echo 'No use CTRL+C para salir. Tome la opción 4 en el menú.' ; echo" INT
 
 # TODO : esto lo debe modificar el instalador, no?
-INST_DIR="/home/gazer/prog/7508/inst"
+INST_DIR="$PWD/inst"
 
 . "/$INST_DIR/util.sh"
 
 
 . "/$INST_DIR/util.sh"
 
@@ -32,6 +32,23 @@ menu () {
        preguntar "Su opción" "1234" $1
 }
 
        preguntar "Su opción" "1234" $1
 }
 
+existe_umbral () {
+       EXISTE=`cat "$INST_DIR/umbrales.param" | egrep "$1"`;
+       if [ "$EXISTE" == "" ] ; then
+               #No existe
+               return 1
+       fi
+       #Ya existe un umbral!
+       return 0
+}
+       
+buscar_id_umbral () {
+       ID=`cat "$INST_DIR/umbrales.id"`;
+       eval "$1=$ID"
+       let ID=$ID+1
+       echo "$ID" > "$INST_DIR/umbrales.id"
+}
+
 case_altas () {
        DONE=0
        while [ $DONE == 0 ] ; do
 case_altas () {
        DONE=0
        while [ $DONE == 0 ] ; do
@@ -51,42 +68,49 @@ case_altas () {
 
        DONE=0
        while [ $DONE == 0 ] ; do
 
        DONE=0
        while [ $DONE == 0 ] ; do
-               leer "Origen (código de 2 letras)" "" ORIGEN
-               if ! existe_pais "$ORIGEN" ; then
-                       echo "No existe el país de código $ORIGEN"
+               leer "Cuidad (código de 2 letras)" "" CIUDAD
+               if ! existe_pais "$CIUDAD" ; then
+                       echo "No existe el país de código $CIUDAD"
                else
                        DONE=1
                fi
                else
                        DONE=1
                fi
-               if [ "$ORIGEN" == "" ] ; then
+               if [ "$CIUDAD" == "" ] ; then
                        DONE=0
                fi
        done
 
                        DONE=0
                fi
        done
 
-       DONE=0
-       while [ $DONE == 0 ] ; do
-               leer "Destino (código de 2 letras)" "" DESTINO
-               if ! existe_pais "$DESTINO" ; then
-                       echo "No existe el país de código $DESTINO"
-               else
-                       DONE=1
-               fi
-               if [ "$DESTINO" == "" ] ; then
-                       DONE=0
-               fi
-       done
-       # Grabo
-       # TODO
-       echo
-       cat << MARCA
-Su entrada
-==========
-   Línea           : $LINEA
-   Tipo de llamada : $TIPO
-   Origon          : $ORIGEN
-   Destino         : $DESTINO
-MARCA
+       # Verifico que el umbral no exista
+       FECHA=`date +"%Y%m%d"`
+       HORA=`date +"%H%M%S"`
+       UMBRAL="$LINEA;$CIUDAD;$TIPO;A;*;*;*"
+
+       if existe_umbral "$UMBRAL" ; then
+               echo "Ya existe un umbral con los datos ingresados."
+               echo "Abortando..."
+               return
+       fi
+       
+       # Genero el umbral
+       buscar_id_umbral ID
+       UMBRAL="$ID;$LINEA;$CIUDAD;$TIPO;A;$USER;$FECHA;$HORA"
+
+       # Lo guardo
+       echo "$UMBRAL" >> "$INST_DIR/umbrales.param"
+
+       echo ""
+       echo "El Umbral fue grabado con éxito"
+       echo ""
 }
 
 }
 
+if is_lock "AFICONF" ; then
+       echo ""
+       echo "Aficonf está corriendo actualemten."
+       echo ""
+       exit 1
+fi
+
+lock "AFICONF"
+
 OPT="0"
 while [ "$OPT" != "4" ] ; do 
        menu OPT
 OPT="0"
 while [ "$OPT" != "4" ] ; do 
        menu OPT
@@ -98,3 +122,4 @@ while [ "$OPT" != "4" ] ; do
        esac
 done
 
        esac
 done
 
+unlock "AFICONF"