Add proper documentation
This commit is contained in:
parent
ad249106cf
commit
0ff90256e4
|
@ -2,10 +2,14 @@
|
||||||
FILE="./BANCO.txt"
|
FILE="./BANCO.txt"
|
||||||
RE='^[0-9]+$'
|
RE='^[0-9]+$'
|
||||||
|
|
||||||
|
# Simple función para poder permitir al usuario leer la salida
|
||||||
|
# de una acción antes de limpiar la pantalla
|
||||||
pause() {
|
pause() {
|
||||||
read -p "Pulse enter para continuar: "
|
read -p "Pulse enter para continuar: "
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Lista los movimientos y los ordena con sort por su
|
||||||
|
# campo de fecha
|
||||||
list() {
|
list() {
|
||||||
FILE_CONTENTS="$(cat $FILE | sort -t ';' -k3)"
|
FILE_CONTENTS="$(cat $FILE | sort -t ';' -k3)"
|
||||||
if ! checkExists $FILE_CONTENTS; then
|
if ! checkExists $FILE_CONTENTS; then
|
||||||
|
@ -16,6 +20,8 @@ list() {
|
||||||
formatear "$FILE_CONTENTS"
|
formatear "$FILE_CONTENTS"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Método cómodo de imprimir mensajes más bonitos sin repetirse
|
||||||
|
# mucho a uno mismo
|
||||||
formatear() {
|
formatear() {
|
||||||
TEXTO="$1"
|
TEXTO="$1"
|
||||||
|
|
||||||
|
@ -24,12 +30,16 @@ formatear() {
|
||||||
echo -e "----------------------------------\n"
|
echo -e "----------------------------------\n"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Comprueba si no existe el archivo y lo crea en caso de que
|
||||||
|
# no exista
|
||||||
fileCheck() {
|
fileCheck() {
|
||||||
if [[ ! -f "$FILE" ]]; then
|
if [[ ! -f "$FILE" ]]; then
|
||||||
touch ./BANCO.txt
|
touch ./BANCO.txt
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Algo no muy complicado, simplemente agarra entrada de usuario
|
||||||
|
# y la redirige al archivo
|
||||||
addMove() {
|
addMove() {
|
||||||
read -p "Nombre: " NOMBRE
|
read -p "Nombre: " NOMBRE
|
||||||
FECHA=$(date -u +%Y-%m-%d_%H-%M-%S)
|
FECHA=$(date -u +%Y-%m-%d_%H-%M-%S)
|
||||||
|
@ -46,15 +56,19 @@ addMove() {
|
||||||
formatear "Movimiento exitosamente añadido!"
|
formatear "Movimiento exitosamente añadido!"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Comprueba si la ID que le llegue por parámetro ya existe en la
|
||||||
|
# base de datos
|
||||||
checkExists() {
|
checkExists() {
|
||||||
CHECK_TARGET="$1"
|
CHECK_TARGET="$1"
|
||||||
TARGET_CONTENTS=$(grep "^$1;*" $FILE)
|
TARGET_CONTENTS=$(grep "^$CHECK_TARGET;*" $FILE)
|
||||||
|
|
||||||
if [[ -z $TARGET_CONTENTS ]]; then
|
if [[ -z $TARGET_CONTENTS ]]; then
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Permite borrar un movimiento combinando sed con la anterior
|
||||||
|
# función para primero comprobar si existe
|
||||||
deleteMove() {
|
deleteMove() {
|
||||||
DELETE_TARGET="$1"
|
DELETE_TARGET="$1"
|
||||||
|
|
||||||
|
@ -73,6 +87,11 @@ deleteMove() {
|
||||||
formatear "Movimiento exitosamente borrado!"
|
formatear "Movimiento exitosamente borrado!"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Probablemente lo más interesante que ha salido de este script:
|
||||||
|
# Una manera de poder buscar identificadores libres al crear nuevos
|
||||||
|
# movimientos la cual es también compatible con identificadores de
|
||||||
|
# entradas anteriormente borradas, muy útil, probablemente reutilizaré
|
||||||
|
# esta lógica en el futuro con un lenguaje de verdad
|
||||||
findFreeID() {
|
findFreeID() {
|
||||||
COUNT=0
|
COUNT=0
|
||||||
while true; do
|
while true; do
|
||||||
|
@ -85,6 +104,7 @@ findFreeID() {
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Busca un movimiento individual por ID
|
||||||
searchMove() {
|
searchMove() {
|
||||||
SEARCH_TARGET=$1
|
SEARCH_TARGET=$1
|
||||||
|
|
||||||
|
@ -96,11 +116,15 @@ searchMove() {
|
||||||
formatear "$(grep "^$SEARCH_TARGET;*" $FILE)"
|
formatear "$(grep "^$SEARCH_TARGET;*" $FILE)"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Mini-función utilizada en main() para buscar y borrar
|
||||||
|
# movimientos
|
||||||
search() {
|
search() {
|
||||||
read -p "ID de movimiento a buscar: " MOV
|
read -p "ID de movimiento a buscar: " MOV
|
||||||
echo $MOV
|
echo $MOV
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Función utilizada para sumar los saldos de todos los
|
||||||
|
# movimientos disponibles
|
||||||
calcTotal() {
|
calcTotal() {
|
||||||
TOTAL=0
|
TOTAL=0
|
||||||
CALC_COL=$(cut -d ";" -f 4 $FILE)
|
CALC_COL=$(cut -d ";" -f 4 $FILE)
|
||||||
|
@ -128,6 +152,8 @@ status() {
|
||||||
END_CAT
|
END_CAT
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Función main, muy simplificada gracias a apoyarse en todas las
|
||||||
|
# funciones anteriores
|
||||||
main() {
|
main() {
|
||||||
fileCheck
|
fileCheck
|
||||||
while true; do
|
while true; do
|
||||||
|
|
Loading…
Reference in New Issue