Add proper documentation

This commit is contained in:
raul 2025-01-16 21:49:39 +01:00
parent ad249106cf
commit 0ff90256e4
Signed by: raul
GPG Key ID: C1AA797073F17129
1 changed files with 27 additions and 1 deletions

View File

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