jueves, 29 de agosto de 2013

Lectura semanal de la Biblia (Cómo lo hice)

Hola mi niña. De nuevo escribiendote cositas que espero algún día te sirvan. En este caso te quiero explicar como preparé mi lectura semanal de la Biblia de acuerdo con la Escuela Teocrática para no olvidarla.
Primero que nada tuve que renombrar los archivos que bajamos del sitio

http://www.jw.org/es/publicaciones/biblia/

para que quedara con esta estructura:

bi-S
├── 01
│   ├── 01.mp3
│   ...
│   ├── 49.mp3
│   └── 50.mp3
├── 02
│   ├── 01.mp3
│   ...
│   ├── 39.mp3
│   └── 40.mp3
...
...
├── 57
│   └── 01.mp3
...
...
└── 66
    ├── 01.mp3
    ...
    ├── 21.mp3
    └── 22.mp3





(Usamos 01, 02, 03, ... . Luego me di cuenta que no era necesario, pero ya estaba hecho)

Hicimos lo mismo con los cánticos:

piano
├── 1.mp3
├── 2.mp3
...
├── 10.mp3
├── 11.mp3
...
├── 112.mp3
...
└── 135.mp3


Una vez que estas dos carpetas estaban listas, empecé a crear mi script:

#!/bin/bash

##################################
#
# lr_lectura.sh
# script que presenta la lectura semanal de la Escuela
# Teocrática de esta semana, así como los cánticos que
# usaremos en la reunión 
#
# Realizado por Arnoldo Bric (arnoldobr@gmail.com)
##################################

# Establezco la ubicación absoluta de las carpetas

dirlect="/Biblioteca teocrática/audio/bi-S"
dircant="/Biblioteca teocrática/audio/piano"

# Esta es la matriz con la información
# La estructura de cada línea es:
# lectura[X]="C1 C2 C3  L:C,L:C,L:C,L:C"
#         |   ++ ++ ++  ^ ^ -----------
# Semana--+    |  |  |  | |       ^
# Cántico 1 ---+  |  |  | |       |
# Cántico 2 ------+  |  | |       |
# Cántico 3 ---------+  | |       |
# Libro Número ---------+ |       |
# Capítulo ---------------+       |
# Separe con comas, sin espacios -+

#...
# Estos datos los vas colocando a partir del 
# km-S
 
lectura[33]="51 113 92 45:09,45:10,45:11,45:12"
lectura[34]="63 11 116 45:13,45:14,45:15,45:16"
lectura[35]=""
lectura[36]=""
lectura[37]=""
lectura[38]=""
lectura[39]=""
lectura[40]=""
lectura[41]=""
lectura[42]=""
lectura[43]=""
lectura[44]=""
lectura[45]=""
lectura[46]=""
lectura[47]=""
lectura[48]=""
lectura[49]=""
lectura[50]=""
lectura[51]=""
lectura[52]=""
lectura[53]=""

#########################################
# Esta es la función que procesa la línea
# correspondiente a la semana
# y reproduce los cánticos y
# la lectura
##################################### 
function leer()
{
    cantico1=$1
    cantico2=$2
    cantico3=$3
    milectura=$4
   
    milect=$(echo $milectura |tr ",:" " /")
    mpg321 "$dircant/$1.mp3"
    mpg321 "$dircant/$2.mp3"
    mpg321 "$dircant/$3.mp3"
   
    for x in $milect
    do
        mpg321 "$dirlect/$x.mp3"
    done
}


# 1 lunes 
# 2 martes 
# 3 Miercoles 
# 4 jueves 
# 5 viernes 
# 6 sabado 
# 7 domingo

dia=$(date +%u) 

semana=$(date +%W)

if [ $dia -gt 5 ]
then
    semana=$(( $semana + 1 ))
fi
   
leer ${lectura[$semana]}



Coloqué  el archivo en la carpeta /usr/local/bin, cambiando los permisos para que sea ejecutable:

# mv lr_lectura.sh /usr/local/bin/
# chmod +x /usr/local/bin/lr_lectura.sh

Finalmente agregué la línea (para que se ejecute a las 5:5am, 1:5 pm y 8:5pm ):

5 5,13,20 * * * /usr/local/bin/lr_lectura.sh

a cron con el comando:

$ crontab -e

Y así no dejo de leer cada semana la lectura programada.