summaryrefslogtreecommitdiffstats
path: root/god/licht
blob: 9284f62243b182c86bef0cac056ef6981b3b66fd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
#!/bin/bash
#
#SYNOPSIS
#   //god/licht [options] [0/1]
#OPTIONS
#   all         -    toggles all lights
#   links       -    toggles all lights on the left hand side while looking towards the Auditorium
#   rechts      -    toggles all lights on the right hand side while looking towards the Auditorium
#   kuschel     -    toggles the lights in the pwnie corner
#   software    -    toggles the software corner
#   tische      -    toggles the lights on the window side of the long table
#   porsche     -    toggles the lights on the window side where the porsche cockpit is
#   ghetto      -    toggles the lights in the hallway
#   0-7         -    toggles individual lights

TOGGLE=`echo "$2" | sed -n '/^[0-1]/p'` 
shorthelp() {
      echo  "Usage: $0 [OPTIONS] [0|1]"
      echo  "Toggle the lights in the shack."

}
longhelp(){
  shorthelp

cat <<EOF

OPTIONS
   all         -    toggles all lights
   links       -    toggles all lights on the left hand side while looking towards the Auditorium
   rechts      -    toggles all lights on the right hand side while looking towards the Auditorium
   kuschel     -    toggles the lights in the pwnie corner
   software    -    toggles the software corner
   tische      -    toggles the lights on the window side of the long table
   porsche     -    toggles the lights on the window side where the porsche cockpit is
   ghetto      -    toggles the lights in the hallway
   0-7         -    toggles individual lights
EOF
}
toggle() {
  LAMPE=`echo "$1" | sed -n '/^[1-2]*[0-9]*[0-9]$/p' | xargs echo "obase=16;" | bc` 
  if ! [ "$LAMPE" -a "$TOGGLE" ];then
    longhelp
    exit 1
  fi
  STRING="\\xA5\\x5A\\x$LAMPE\\x$TOGGLE"
  if [ $# != 2 ]
  then
    longhelp
    exit 1
  else
    echo "Toggle light $LAMPE ($TOGGLE)" 
     printf "$STRING" | nc -u -w1 licht.shack 1337
  fi
}

toggle_all() {
    for i in `seq 0 7`
    do
        printf "\\xA5\\x5A\\x$i\\x$TOGGLE" | nc -u -w1 licht.shack 1337 &
    done
    wait
}

kuschel(){
    for i in 0 2
    do
        printf "\\xA5\\x5A\\x$i\\x$TOGGLE" | nc -u -w1 licht.shack 1337 &
    done
    wait
}

software(){
    for i in 1 3
    do
        printf "\\xA5\\x5A\\x$i\\x$TOGGLE" | nc -u -w1 licht.shack 1337 &
    done
    wait
}

tische(){
    for i in 4 6 
    do
        printf "\\xA5\\x5A\\x$i\\x$TOGGLE" | nc -u -w1 licht.shack 1337 &
    done
    wait
}

ghetto(){
    printf "\\xA5\\x5A\\x7\\x$TOGGLE" | nc -u -w1 licht.shack 1337 
}

porsche(){
    printf "\\xA5\\x5A\\x5\\x$TOGGLE" | nc -u -w1 licht.shack 1337 
}

case "$1" in
  (--help) 
    if [ "$2" == "--verbose" ]
    then longhelp
    else shorthelp
    fi
      ;;
  all) 
      toggle_all
      ;;
  kuschel)
      kuschel
      ;;
  software)
      software
      ;;
  links)
      kuschel
      software
      ;;
  rechts)
      tische
      porsche
      ghetto
      ;;
  tische)
      tische
      ;;
  porsche)
      porsche
      ;;
  ghetto)
      ghetto
      ;;
  *)
      toggle "$@"
      ;;
esac