summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xmodules/shackstatus127
-rwxr-xr-xmodules/stream50
2 files changed, 177 insertions, 0 deletions
diff --git a/modules/shackstatus b/modules/shackstatus
new file mode 100755
index 00000000..d05dba87
--- /dev/null
+++ b/modules/shackstatus
@@ -0,0 +1,127 @@
+#! /bin/bash
+inputdir=$HOME/noise/streams
+
+speak () {
+ echo "$@" >> $NOISE_linefeed
+}
+
+wochentag () {
+ case $(date +%a) in
+ Mon) echo Montag ;;
+ Tue) echo Dienstag ;;
+ Wed) echo Mittwoch ;;
+ Thu) echo Donnerstag ;;
+ Fri) echo Freitag ;;
+ Sat) echo Samstag ;;
+ Sun) echo Sonntag ;;
+ esac
+}
+
+tag () {
+ case $(date +%d) in
+ 1) echo erste ;;
+ 2) echo zweite ;;
+ 3) echo dritte ;;
+ 4) echo vierte ;;
+ 5) echo fünfte ;;
+ 6) echo sechste ;;
+ 7) echo siebte ;;
+ 8) echo achte ;;
+ 9) echo neunte ;;
+ 10) echo zehnte ;;
+ 11) echo elfte ;;
+ 12) echo zwölfte ;;
+ 13) echo dreizehnte ;;
+ 14) echo vierzehnte ;;
+ 15) echo fünfzehnte ;;
+ 16) echo sechzehnte ;;
+ 17) echo siebzehnte ;;
+ 18) echo achtzehnte ;;
+ 19) echo neunzehnte ;;
+ 20) echo zwanzigste ;;
+ 21) echo einundzwanzigste ;;
+ 22) echo zweiundzwanzigste ;;
+ 23) echo dreiundzwanzigste ;;
+ 24) echo vierundzwanzigste ;;
+ 25) echo füfundzwanzigste ;;
+ 26) echo sechsundzwanzigste ;;
+ 27) echo siebenundzwanzigste ;;
+ 28) echo achtundzwanzigste ;;
+ 29) echo neunundzwanzigste ;;
+ 30) echo dreissigste ;;
+ 31) echo einunddreissigste ;;
+ esac
+}
+
+monat () {
+ case $(date +%b) in
+ Jan) echo Januar ;;
+ Feb) echo Februar ;;
+ Mar) echo März ;;
+ Apr) echo April ;;
+ May) echo Mai ;;
+ Jun) echo Juni ;;
+ Jul) echo Juli ;;
+ Aug) echo August ;;
+ Sep) echo September ;;
+ Oct) echo Oktober ;;
+ Nov) echo November ;;
+ Dec) echo Dezember ;;
+ esac
+}
+
+case "$1" in
+ (--help)
+ echo "report status of all shack services."
+ ;;
+ (*)
+# just a multiline comment
+cat << EOF > /dev/null
+ /set pitch 10
+ /espeak Hallo. Krietscher hat seinen Meister vermisst.
+ /espeak Heute ist `wochentag`, der `tag` --- `monat` -- `date +%Y`
+ /zeit
+ /espeak check der systeme:
+ /espeak Energie versorgung -- aktiv
+ /espeak schäckhost -- läuft
+ /espeak telnet -- läuft
+ /espeak interner - de - enn -- es, interne domein -- $STAT_DNS_I
+ /espeak interner - de - enn -- es, externe domein -- $STAT_DNS_E
+ /espeak externer - de - enn -- es - $STAT_DNS_X
+ /espeak Leitungsqualität - $STAT_LINE prozent.
+ /espeak Die Aussen temper atur beträgt $STAT_TEMP
+ /espeak Willkommen zu Hause, -- Meister
+EOF
+
+[ $( dig +short localhost @10.42.0.10 ) = "127.0.0.1" ] && STAT_DNS_I="läuft" || STAT_DNS_I="antwortet nicht"
+[ $( dig +short shackspace.de @10.42.0.10 ) = "141.31.176.214" ] && STAT_DNS_E="läuft"|| STAT_DNS_E="antwortet nicht"
+[ $( dig +short shackspace.de @141.31.176.214 ) = "141.31.176.214" ] && STAT_DNS_X="läuft"|| STAT_DNS_X="antwortet nicht"
+
+STAT_LINE=$( ping -c 5 -i 0.2 -q 141.31.176.214 | awk '/packet loss/ { print 100-$6}' )
+STAT_TEMP=$( dig +short txt outside.elwood.temp.citecs.de |
+ sed 's/^"DEG //;
+ s/"$//;
+ s/^-/minus /;
+ s/\./ komma /;
+ s/\(.\)$/ \1 grad zelsius/
+ '
+)
+
+cat <<-EOF >> $NOISE_linefeed
+ /set pitch 10
+ /espeak Hallo. Krietscher hat seinen Meister vermisst.
+ /espeak Heute ist `wochentag`, der `tag` --- `monat` -- `date +%Y`
+ /zeit
+ /espeak check der systeme:
+ /espeak Energie versorgung -- aktiv
+ /espeak schäckhost -- läuft
+ /espeak telnet -- läuft
+ /espeak interner - de - enn -- es, interne domein -- $STAT_DNS_I
+ /espeak interner - de - enn -- es, externe domein -- $STAT_DNS_E
+ /espeak externer - de - enn -- es - $STAT_DNS_X
+ /espeak Leitungsqualität - $STAT_LINE prozent.
+ /espeak Die Aussen temper atur beträgt $STAT_TEMP
+ /espeak Willkommen zu Hause, -- Meister
+EOF
+ ;;
+esac 2>&1
diff --git a/modules/stream b/modules/stream
new file mode 100755
index 00000000..76e86317
--- /dev/null
+++ b/modules/stream
@@ -0,0 +1,50 @@
+#! /bin/sh
+inputdir=$HOME/noise/streams
+case "$1" in
+ (--help)
+ echo "play an audio stream" ;;
+ (*)
+ exec 2>&1
+ ffs='xml'
+
+ if test -z "$*" ; then
+ echo -e "\x1B[32m/stream off \x1B[33m- turn stream off\x1B[m"
+ for i in `ls $inputdir` ; do
+ filename="$inputdir/$i"
+ shortcut=`xmlstarlet sel -t -v /station/@shortcut "$inputdir/$i"`
+ title=`xmlstarlet sel -t -v /station/@title "$inputdir/$i"`
+ topic=`xmlstarlet sel -t -v /station/@topic "$inputdir/$i"`
+ stream=`xmlstarlet sel -t -v /station/@stream "$inputdir/$i"`
+ echo -e "\x1B[32m/stream $shortcut \x1B[33m- $title \x1B[35m$topic\x1B[m"
+ done
+ else if [ "$1" = "off" ]; then
+ [ ! -d /tmp/noise ] || ( echo "no directory /tmp/noise; aborting" ; exit 1 )
+ [ -f /tmp/noise/stream.pid ] && ( kill ` cat /tmp/noise/stream.pid ` )
+ [ -e /tmp/noise/stream.pid ] && rm /tmp/noise/stream.pid || ( echo "can't remove /tmp/noise/stream.pid; aborting" ; exit 1 )
+ else
+ for i in `ls $inputdir` ; do
+ filename="$inputdir/$i"
+ shortcut=`xmlstarlet sel -t -v /station/@shortcut "$inputdir/$i"`
+ stream=`xmlstarlet sel -t -v /station/@stream "$inputdir/$i"`
+ if [ "$shortcut" == "$1" ]; then
+ [ ! -d /tmp/noise ] || ( umask 077 ; mkdir /tmp/noise ) || ( echo "can't create /tmp/noise; aborting" ; exit 1 )
+ [ -f /tmp/noise/stream.pid ] && ( kill ` cat /tmp/noise/stream.pid ` )
+ [ -e /tmp/noise/stream.pid ] && rm /tmp/noise/stream.pid || ( echo "can't remove /tmp/noise/stream.pid; aborting" ; exit 1 )
+ mplayer -cache 2048 -quiet "$stream" &
+ ( umask 077 ; echo $! > /tmp/noise/stream.pid )
+ break
+ fi
+ done || cat<<EOF
+\
+Keine Audiostreambeschreibung mit dem Namen
+
+ $1.EXT
+
+gefunden... am besten gleich anlegen:
+
+ ssh shack@shack.shack:noise/streams/
+
+folgende Dateiendungen werden erkannt: $ffs
+EOF
+ fi fi
+esac