diff options
author | root <root@krebs> | 2011-08-04 02:10:00 +0200 |
---|---|---|
committer | root <root@krebs> | 2011-08-04 02:10:00 +0200 |
commit | f892f66a7ac44afc92234cb8185415afd70606d5 (patch) | |
tree | 9b20e1b8ac94dd756e1e0830e4c6fcfd84d48da4 /noise/modules | |
parent | 8a29cfa663a45cf3defd8d6b2aa5e174099ba16f (diff) |
added stream module for noise
in /etc/sudoers you will need to add:
noise ALL=(ALL) NOPASSWD: /krebs/streams/streams
noise/modules/stream: is a sudo wrapper for streams/streams
Diffstat (limited to 'noise/modules')
-rwxr-xr-x | noise/modules/stream | 66 |
1 files changed, 2 insertions, 64 deletions
diff --git a/noise/modules/stream b/noise/modules/stream index 1e6fd0c5..476ffff9 100755 --- a/noise/modules/stream +++ b/noise/modules/stream @@ -1,64 +1,2 @@ -#! /bin/sh -inputdir=$HOME/noise/streams -basename="`basename "$0"`" -case "$1" in - (--help) - if echo "$0 $*" | grep -q '[[:space:]]--verbose\>'; then - echo -e "\x1B[35mtype \x1B[32m/$basename off \x1B[35mto 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[35mtype \x1B[32m/$basename $shortcut \x1B[35mfor $topic\x1B[m" - done - else - echo "play an audio stream" - fi - ;; - (*) - 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 -[33m\ -Keine Audiostreambeschreibung mit dem Namen - - [4m$1[;33m.EXT - -gefunden... am besten gleich anlegen: - - ssh shack@shack.shack:noise/streams/ - -folgende Dateiendungen werden erkannt: $ffs[m -EOF - fi fi -esac +#!/bin/sh +sudo -u krebs /krebs/streams/streams "$@" |