El script es muy simple, pero esta muy compacto, lo retoque bastante, empezó con una serie de script que enlazaban entre si y termino siendo 1 con funciones, y varias excepciones combinadas…
#!/bin/bash
# Si este script falla solicitar la ayuda variacion ‘-h’, si continuan los errores, seguramente, es por que requieres los siguientes programas de shell, recuerde cambiar el reproductor por uno instalado en su maquina, si encuentra una error no dude en enviarlo a [email protected] a si como nuevos canales.
#
# awk
# wget
# sed
# sort, Si no lo tenes instalador tan solo buscalo en el programa y borra ‘| sort’, este pone las estaciones de radio y television en orgen alfabetico.
# —————————variables de usuario——————————
# Elegir el reproductor de audio y video, que desee, que el programa utilice
REPRODUCTOR_VIDEO=”mplayer”
REPRODUCTOR_AUDIO=”mplayer”
# repetir si, se quiere, el mismo reproductor para los dos casos
# —————————Ayuda—————————–
if [ $# -lt 1 ]; then
ayuda=1
fi
if [ $1 ]; then
if [ $1 == "-h" ]; then
ayuda=1
fi
if [ $1 == "--help" ]; then
ayuda=1
fi
fi
if [ $ayuda ]; then
echo “Uso:”
echo
echo ” radios Usar radio estaciones.”
echo ” canales Usar canales de television.”
echo ” lista Lista de canales o radio estaciones”
echo ” [1-N] Numero de canal o radio estación que se desea escuchar o ver.”
echo ” sugerencia Enviar una radio estaciones o canal para sumar a la lista.”
echo ” eliminar Solicitud para la eliminar un ‘canal’ (solo, si no funciona).”
echo ” -h Esta ayuda”
echo ” core Ejecuta la version ‘Core’”
exit
fi
tvoradio=1
lista=0
# —————————-funciones——————————
function lista_medios () {
i=0
for y in $RESULTADOS; do
let i++
y=`echo “${y}” | sed ’s/\_/ /g’` # remplazar por ‘tr’
nombre=`echo “${y}” | awk -F”|” ‘{print $1}’`
url=`echo “${y}” | awk -F”|” ‘{print $2}’`
descripcion=`echo “${y}” | awk -F”|” ‘{print $3}’`
if [ $eleccion ]; then
if [ "$eleccion" == "$i" ]; then
echo
break 1
fi
else
echo “${i}. ${nombre}”
echo ” $descripcion”
echo
fi
done
}
#—————————CORE—————————————
function core_funcion () {
#—————————–GUI: radio o tv—————————————-
echo -e “Seleccionar:\n\t0 - Salir\n\t1 - Televisora\n\t2 - Estancion de Radio”
read tvoradio
if [ $tvoradio == 2 ]; then
tipo=”radios”
fi
while [ $tvoradio -gt 0 ]
do
echo $tipo
wget -q -O sintonias.txt “http://elelefantemoteado.com.ar/medios/$tipo.php”
RESULTADOS=`cat sintonias.txt | sed ’s/\ /_/g’ | sort`
echo “——————”
lista_medios
#—————GUI: Seleccion de canal————
echo “Elegir un canal y presionar o <0> para salir”
read eleccion
if [ $eleccion ]; then
lista_medios #elige que canal va a usar
$REPRODUCTOR “$url” &> /dev/null &
echo “Reproducciendo $nombre - Presione para elegir otra estación o <0> para salir”
read tvoradio
kill %1 # matar el proceso mplayer, tengo el script en la mac
sleep .5
else
tvoradio=$eleccion #salida indirecta
fi
done
echo “GPL V3 - elelefantemoteado.com.ar”
echo “Canales sacados principalmente de www.wwitv.com y contribucion de usuarios”
}
# —————————-programa——————————
workdir=$(mktemp -d) #temporal puede no ser nuevo
cd $workdir #va al directorio correspondiente
# Por defecto sirve para ver television
REPRODUCTOR=$REPRODUCTOR_VIDEO
tipo=”canales”
if [ $1 == "core" ]; then
core_funcion #requiere que este en el PATH
exit
fi
#—————nuevo canal—————-
if [ $1 == "sugerir" ]; then
echo “Sugiriendo una:”
radiootv
read tipo
echo “Escriba el nombre de la estacion”
read nombre
echo “Dirección (No pagina web, solo streaming)”
read url
echo “Descripcion breve”
read descripcion
mail -s “Nuevo canal” -F “[email protected]” << EOF
tipo: $tipo
Nombre: $nombre
Url: $url
Descripcion: $descripcion
EOF
echo "Muchisimas gracias, por colaborar "
exit
fi
#---------------eliminar canal----------------
if [ $1 == "eliminar" ]; then
echo "Desea eliminar una:"
radiootv
read tipo
echo "Escriba el nombre de la estacion"
read nombre
echo "Motivo"
read motivo
mail -s "Nuevo canal" -F "[email protected]" << EOF
tipo: $tipo
Nombre: $nombre
Motivo: $motivo
EOF
echo "Muchisimas gracias, por colaborar "
exit
fi
#------------------variavion radios-------------------
if [ "$1" == "radios" ]; then
#verifica si pediste ver radios
tipo="radios"
REPRODUCTOR=$REPRODUCTOR_AUDIO
fi
#------------------lista de medios-------------------
wget -q -O sintonias.txt "http://elelefantemoteado.com.ar/medios/$tipo.php"
RESULTADOS=`cat sintonias.txt | sed 's/\ /_/g' | sort`
#-------------------lista visible--------------------
if [ $2 == 'lista' ]; then
lista_medios
echo "Hay $i ${tipo} disponibles - enviar nuevos a [email protected]"
exit 1
fi
if [ $2 ]; then
#-------------------escuchar--------------------
eleccion=$2
lista_medios #elige que canal va a usar
$REPRODUCTOR "$url" $3
echo
fi
#-------------------Licencia--------------------
echo "Licencia GPL V3 - www.elelefantemoteado.com.ar"
echo "Canales sacados principalmente de wwitv.com y contribución de usuarios"
Algunas funciones básicas para utilizarlo:
Ejecución rápida, esta es una ejecución dinámica:
Usuario > TVerminal core
Los que prefieren los parámetros, pueden volcarlos simplemente así…
Ayuda:
Usuario > TVerminal -h
Lista de canales:
Usuario > TVerminal canales lista
Ver el canal número 3:
Usuario > TVerminal canales 3
Sugerencia un nuevo canal o radio estación
Usuario > TVerminal sugerencia
sugerencia eliminar un canal o radio estación
Usuario > TVerminal sugerencia
#!Sexy/Bash.

