#!/bin/bash
#
# Este sencillo script, basado en eSpeak y en weather-util, recopila
#información sobre tu disco duro, la fecha, la hora y el clima y crea una
#locución, diferente según las distintas circunstancias, que te informa
#de las conclusiones a la que ha llegado a partir de los datos tomados.
#Está pensado para ejecutarse al inicio de sesión, y que así te de la
#bienvenida a la vez que te informe del estado actual.
#
# Realizado por Astaroth (O.R.G.)
# url: http://astarothsworld.blogspot.com
#
# 1.- RECOLECCIÓN DE DATOS:
# Hora:
Hora=`date +%H`
Minutos=`date +%M`
# Fecha:
Dia=`date +%-d`
Mes=`date +%B`
mes=`date +%-m`
A=`date +%Y`
DiaS=`date +%A`
DiaA=`date +%-j`
# Disco Duro:
eTotal=`df | sed -n '2p' | awk '{print $2}'`
eTotal=`echo "scale=2 ; $eTotal / 1048576 " | bc`
eUsado=`df | sed -n '2p' | awk '{print $3}'`
eUsado=`echo "scale=2 ; $eUsado / 1048576 " | bc`
eDisponible=`df | sed -n '2p' | awk '{print $4}'`
eDisponible=`echo "scale=2 ; $eDisponible / 1048576 " | bc`
ePorc=`df | sed -n '2p' | awk '{print $5}' | sed 's/%//g'`
edPorc=`echo "100 - $ePorc" | bc`
Piz=`echo $eDisponible | grep -o "[0-9]*\." | sed 's/\.//g'`
Pdr=`echo $eDisponible | grep -o "\.[0-9]*" | sed 's/\.//g'`
# Clima
clima=`weather -i LETO`
Temp=`echo $clima | sed -s '3p' | grep -o "([0-9]* C)" | sed 's/ C//g' | sed 's/(//g' | sed 's/)//g'`
Hum=`echo $clima | sed -s '4p' | grep -o "[0-9]*%"`
# 2.- ANÁLISIS DE DATOS:
# Hora:
if [ $Hora -ge 6 -a $Hora -lt 14 ] ; then
Sal="¡Buenos días!"
Sal2="mañana"
else
if [ $Hora -ge 14 -a $Hora -lt 20 ] ; then
Sal="¡Buenas tardes!"
Sal2="tarde"
else
Sal="¡Buenas noches!"
Sal2="noche"
fi
fi
# Fecha:
if [ $DiaA -gt 172 -a $DiaA -le 265 ] ; then
else
if [ $DiaA -gt 265 -a $DiaA -le 355 ] ; then
else
if [ $DiaA -gt 80 -a $DiaA -le 172 ] ; then
Estac="primavera"
else
fi
fi
fi
# Citas:
if [ $Dia = 1 -a $mes = 1 ] ; then
cita="¿cómo llevas el primer día del año?, ¿aún tienes resaca de anoche?"
else
if [ $Dia = 6 -a $mes = 1 ] ; then
cita="¿fuiste bueno?, ¿qué te han traido los Reyes Magos?"
else
if [ $Dia = 14 -a $mes = 2 ] ; then
cita="hoy es el día de los enamorados. Espero que tengas algo bonito para mí"
else
if [ $Dia = 8 -a $mes = 3 ] ; then
cita="hoy es el día de la mujer, así que quiero que reflexiones sobre qué sería de tí si no estuviera yo para leerte tus citas"
else
if [ $Dia = 19 -a $mes = 3 ] ; then
cita="¿has felicitado ya a tu padre?, hoy es su día"
else
if [ $Dia = 23 -a $mes = 4 ] ; then
cita="¿sabes ya cuál es el sentido de la vida, el universo, y todo lo demás?, hoy es el día del libro, te recomiendo La Guía del Autoestopista Galáctico, de Douglas Adams"
else
if [ $Dia = 1 -a $mes = 5 ] ; then
cita="hoy es el día del trabajador. ¿Qué tal si para celebrarlo te pones a hacer algo en vez de jugar todo el día al San Andreas?"
else
if [ $Dia = 15 -a $mes = 5 ] ; then
cita="que sepas que hoy no tienes clase por cortesía de San Isidro"
else
if [ $Dia = 31 -a $mes = 10 ] ; then
cita="si hoy ves fantasmas, es normal, hoy es Jalogüin" # No quería escribirlo así xD, pero es que si no, no lo lee bien :p!
else
if [ $Dia = 24 -a $mes = 12 ] ; then
cita="como dice la canción, esta noche es nochebuena, y mañana navidad"
else
if [ $Dia = 25 -a $mes = 12 ] ; then
cita="25 de Diciembre, fum, fum, fum"
else
if [ $Dia = 28 -a $mes = 12 ] ; then
cita="he detectado errores en el disco, todos los análisis indican que es un virus atacando los sistemas de seguridad del ordenador, se están borrando datos a un ritmo alarmante, se procederá al formateo en 5, 4, 3, 2, 1. ¡Picaste!, ¡feliz día de los inocentes!"
else
if [ $Dia = 31 -a $mes = 12 ] ; then
cita="hoy es el último día del año, ha sido muy agradable trabajar a tu lado durante todo este año, $USER"
else
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
# Disco Duro:
Porcent=`echo $edPorc | sed 's/%//g'`
if [ $Porcent -lt 5 ] ; then
disco="¡Situación crítica! ¡No dispones de espacio en tu disco duro!"
else
if [ $Porcent -lt 10 ] ; then
disco="¡Cuidado! ¡Casi no tienes demasiado espacio en tu disco duro!"
else
if [ $Porcent -lt 15 ] ; then
disco="Te recomiendo que no apures demasiado tu disco duro."
else
disco="Aún te falta disco duro por llenar."
fi
fi
fi
# Clima
if [ $Temp -gt 20 ] ; then
temperatura="Hoy hace calor. Ten cuidado con tus dolores de cabeza"
if [ $Estac = "verano" ] ; then
TempAd="aunque es normal en estas fechas."
else
TempAd="¡Parece verano! No me extraña que luego hablen de calentamiento global."
fi
else
if [ $Temp -lt 15 ] ; then
temperatura="Más vale que te pongas algo de abrigo si sales a la calle"
if [ $Estac = "invierno" ] ; then
TempAd="aunque es normal en estas fechas."
else
TempAd="¡Ni que fuera invierno! ¡Puto cambio climático!"
fi
else
temperatura="Una temperatura ideal"
TempAd=" "
fi
fi
# 3.- DISCURSO:
espeak -a 200 -ves+f4 "¡Hola $USER! $Sal. Son las $Hora y $Minutos minutos de la $Sal2. Hoy $DiaS, día $Dia de $Mes de $A, $cita, tenemos un maravilloso día de $Estac, con temperaturas de $Temp grados centígrados, $temperatura, $TempAd La humedad relativa es del $Hum. Cambiando de tema, tu disco duro está al $edPorc % (tienes libre $Piz con $Pdr gigas), $disco ¡Que tengas un buen día!"