summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-x.graveyard/autowifi/autowifi (renamed from autowifi/autowifi)0
-rw-r--r--.graveyard/autowifi/confdir/blacklist (renamed from autowifi/confdir/blacklist)0
-rwxr-xr-x.graveyard/autowifi/confdir/cracks/00profile (renamed from autowifi/confdir/cracks/00profile)0
-rwxr-xr-x.graveyard/autowifi/confdir/cracks/01open (renamed from autowifi/confdir/cracks/01open)0
-rwxr-xr-x.graveyard/autowifi/confdir/hooks/wlan0/post/00tinc-up (renamed from autowifi/confdir/hooks/wlan0/post/00tinc-up)0
-rwxr-xr-x.graveyard/autowifi/confdir/hooks/wlan0/pre/00changemac (renamed from autowifi/confdir/hooks/wlan0/pre/00changemac)0
-rw-r--r--.graveyard/cholerab-live/README (renamed from cholerab/cholerab-live/README)0
-rw-r--r--.graveyard/cholerab-live/chol_net.py (renamed from cholerab/cholerab-live/chol_net.py)0
-rw-r--r--.graveyard/cholerab-live/chol_net.pyc (renamed from cholerab/cholerab-live/chol_net.pyc)bin4361 -> 4361 bytes
-rwxr-xr-x.graveyard/cholerab-live/cholerab.py (renamed from cholerab/cholerab-live/cholerab.py)0
-rwxr-xr-x.graveyard/cholerab-live/live.sh (renamed from cholerab/too_old/live.sh)0
-rw-r--r--.graveyard/cholerab-live/makefu/README6
-rw-r--r--.graveyard/cholerab-live/makefu/chol_net.py82
-rwxr-xr-x.graveyard/cholerab-live/makefu/cholerab.py36
-rw-r--r--.graveyard/cholerab-live/makefu/view.py (renamed from cholerab/cholerab-live/view.py)0
-rwxr-xr-x.graveyard/cholerab-live/ttycnser.sh (renamed from cholerab/too_old/ttycnser.sh)0
-rw-r--r--.graveyard/cholerab-live/view.py112
-rw-r--r--.graveyard/temper/.gitignore (renamed from god/temper/.gitignore)0
-rw-r--r--.graveyard/temper/99-tempsensor.rules (renamed from god/temper/99-tempsensor.rules)0
-rw-r--r--.graveyard/temper/Makefile (renamed from god/temper/Makefile)4
-rwxr-xr-x.graveyard/temper/collectd-temper.sh (renamed from god/temper/collectd-temper.sh)0
-rw-r--r--.graveyard/temper/temper.c (renamed from god/temper/temper.c)2
-rw-r--r--.graveyard/temper/temper.h (renamed from god/temper/temper.h)0
-rwxr-xr-xgod/streams/bin/relaxxapi.py4
-rwxr-xr-xgod/streams/bin/streams2
25 files changed, 242 insertions, 6 deletions
diff --git a/autowifi/autowifi b/.graveyard/autowifi/autowifi
index 5bdbde22..5bdbde22 100755
--- a/autowifi/autowifi
+++ b/.graveyard/autowifi/autowifi
diff --git a/autowifi/confdir/blacklist b/.graveyard/autowifi/confdir/blacklist
index f0e5c6a1..f0e5c6a1 100644
--- a/autowifi/confdir/blacklist
+++ b/.graveyard/autowifi/confdir/blacklist
diff --git a/autowifi/confdir/cracks/00profile b/.graveyard/autowifi/confdir/cracks/00profile
index c2ad6ec7..c2ad6ec7 100755
--- a/autowifi/confdir/cracks/00profile
+++ b/.graveyard/autowifi/confdir/cracks/00profile
diff --git a/autowifi/confdir/cracks/01open b/.graveyard/autowifi/confdir/cracks/01open
index 7bd98e20..7bd98e20 100755
--- a/autowifi/confdir/cracks/01open
+++ b/.graveyard/autowifi/confdir/cracks/01open
diff --git a/autowifi/confdir/hooks/wlan0/post/00tinc-up b/.graveyard/autowifi/confdir/hooks/wlan0/post/00tinc-up
index 3fd786e4..3fd786e4 100755
--- a/autowifi/confdir/hooks/wlan0/post/00tinc-up
+++ b/.graveyard/autowifi/confdir/hooks/wlan0/post/00tinc-up
diff --git a/autowifi/confdir/hooks/wlan0/pre/00changemac b/.graveyard/autowifi/confdir/hooks/wlan0/pre/00changemac
index c3e0632f..c3e0632f 100755
--- a/autowifi/confdir/hooks/wlan0/pre/00changemac
+++ b/.graveyard/autowifi/confdir/hooks/wlan0/pre/00changemac
diff --git a/cholerab/cholerab-live/README b/.graveyard/cholerab-live/README
index b778b98c..b778b98c 100644
--- a/cholerab/cholerab-live/README
+++ b/.graveyard/cholerab-live/README
diff --git a/cholerab/cholerab-live/chol_net.py b/.graveyard/cholerab-live/chol_net.py
index ee0f5378..ee0f5378 100644
--- a/cholerab/cholerab-live/chol_net.py
+++ b/.graveyard/cholerab-live/chol_net.py
diff --git a/cholerab/cholerab-live/chol_net.pyc b/.graveyard/cholerab-live/chol_net.pyc
index 0694ad6d..0694ad6d 100644
--- a/cholerab/cholerab-live/chol_net.pyc
+++ b/.graveyard/cholerab-live/chol_net.pyc
Binary files differ
diff --git a/cholerab/cholerab-live/cholerab.py b/.graveyard/cholerab-live/cholerab.py
index eb9e66df..eb9e66df 100755
--- a/cholerab/cholerab-live/cholerab.py
+++ b/.graveyard/cholerab-live/cholerab.py
diff --git a/cholerab/too_old/live.sh b/.graveyard/cholerab-live/live.sh
index 62a2c3cf..62a2c3cf 100755
--- a/cholerab/too_old/live.sh
+++ b/.graveyard/cholerab-live/live.sh
diff --git a/.graveyard/cholerab-live/makefu/README b/.graveyard/cholerab-live/makefu/README
new file mode 100644
index 00000000..b778b98c
--- /dev/null
+++ b/.graveyard/cholerab-live/makefu/README
@@ -0,0 +1,6 @@
+
+view.py: contains view classes for cholerab
+cholerab.py: main file
+
+start with :
+python cholerab.py
diff --git a/.graveyard/cholerab-live/makefu/chol_net.py b/.graveyard/cholerab-live/makefu/chol_net.py
new file mode 100644
index 00000000..ee0f5378
--- /dev/null
+++ b/.graveyard/cholerab-live/makefu/chol_net.py
@@ -0,0 +1,82 @@
+from socket import socket, AF_INET,SOCK_DGRAM,IPPROTO_UDP,SOL_SOCKET,SO_REUSEADDR,IP_MULTICAST_TTL,IP_MULTICAST_LOOP,INADDR_ANY,inet_aton,IP_ADD_MEMBERSHIP,IPPROTO_IP
+import struct
+import threading
+import logging
+log = None
+from select import select
+GROUP = '224.110.42.23'
+PORT = 42023
+log = logging.getLogger('CholerabNet')
+class CholerabMulicastNet(threading.Thread):
+ def __init__(self,cholerab,group=GROUP,port=PORT):
+ threading.Thread.__init__(self)
+ self.cholerab=cholerab
+ self.group=group
+ self.port=port
+ self.initSocket()
+ def send_char(self,x,y,char):
+ """ translates given params into network message """
+ self.send_mc("%s %d %d" %(str(ord(char)),x,y))
+ def send_mc(self,arg):
+ """ Sends message via multicast"""
+ try:
+ log.debug("Sending '%s' to %s:%d" % (arg,self.group,self.port))
+ self.ignore_next += 1# we need this to work together correctly with reused sockets
+ self.s.sendto("%s" % arg,0,(self.group,self.port))
+ except Exception ,e:
+ self.ignore_next -=1
+ log.error("IN send_mc:%s"%str(e))
+
+ def initSocket (self,rcv=1):
+ ''' Initializes a Multicast socket '''
+ host = ''
+ log.debug("Setting up Multicast Socket")
+ self.s = socket(AF_INET,SOCK_DGRAM, IPPROTO_UDP)
+ self.s.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)
+ self.s.setsockopt(IPPROTO_IP, IP_MULTICAST_TTL, 32)
+ self.s.setsockopt(IPPROTO_IP,IP_MULTICAST_LOOP,1) # we do not want our own packets to be replayed
+ if rcv==1:
+ log.debug("Configuring for Read AND Write")
+ self.s.bind((host,PORT))
+ mreq = struct.pack("4sl", inet_aton(GROUP), INADDR_ANY)
+ self.s.setsockopt(IPPROTO_IP,IP_ADD_MEMBERSHIP,mreq)
+ def run(self):
+ self.running = 1
+ self.ignore_next = 0
+ while self.running:
+ # break if we do not want to loop on
+ ready,output,exception = select([self.s],[],[],1) # try every second
+ for r in ready:
+ if r == self.s:
+ log.debug(str(self.ignore_next))
+ (data,addr) = self.s.recvfrom(1024)
+ if not self.ignore_next:
+ log.debug("Received Data from %s, data %s"%(str(addr),str(data)))
+ self.receive_net(addr,data)
+ else:
+ self.ignore_next -= 1
+
+ def send_stupid(self,addr):
+ """ sends YOU ARE MADE OF STUPID to the right host """
+ #TODO implement me
+ pass
+
+ def receive_net(self,addr,data):
+ """ resolves which nick sent the message
+ TODO handle user resolution in mulicast """
+ try:
+ address,port = addr
+ arr = str(data).split()
+ char = arr[0]
+ x = arr[1]
+ y = arr[2]
+ self.cholerab.write_char(int(x),int(y),chr(int(char)))
+ except Exception, e:
+ log.error("Triggered YOU ARE MADE OF STUPID: %s" % str(e))
+ self.send_stupid(addr)
+
+ def stop(self):
+ '''
+ stops the whole treading stuff gracefully
+ '''
+ self.running=0
diff --git a/.graveyard/cholerab-live/makefu/cholerab.py b/.graveyard/cholerab-live/makefu/cholerab.py
new file mode 100755
index 00000000..eb9e66df
--- /dev/null
+++ b/.graveyard/cholerab-live/makefu/cholerab.py
@@ -0,0 +1,36 @@
+#!/usr/bin/python2
+# -*- coding: utf-8 -*-
+import curses,time
+from view import CursesView
+from chol_net import CholerabMulicastNet
+import logging
+logging.basicConfig(filename='here.log',level=logging.DEBUG)
+log = logging.getLogger('main')
+class Cholerab:
+ def __init__(self):
+ self.view = CursesView(cholerab=self)
+ self.transport = CholerabMulicastNet(cholerab=self)
+ def send_char(self,x,y,char):
+ log.info("Sending %s at (%d,%d) to connected peers" %(char,x,y))
+ self.transport.send_char(x,y,char)
+
+ def write_char(self,x,y,char):
+ log.info("Writing %s at (%d,%d) to view" %(char,x,y))
+ self.view.write_char(x,y,char,user=2)
+ def stop(self):
+ self.view.stop()
+ self.transport.stop()
+ def main(self):
+ self.view.start()
+ self.transport.start()
+ self.view.join()
+ #after view dies, kill the transport as well
+ self.transport.stop()
+ self.transport.join()
+def main():
+ log.debug('started main')
+ chol = Cholerab()
+ chol.main()
+
+if __name__ == "__main__":
+ main()
diff --git a/cholerab/cholerab-live/view.py b/.graveyard/cholerab-live/makefu/view.py
index 6a75f655..6a75f655 100644
--- a/cholerab/cholerab-live/view.py
+++ b/.graveyard/cholerab-live/makefu/view.py
diff --git a/cholerab/too_old/ttycnser.sh b/.graveyard/cholerab-live/ttycnser.sh
index 0972dbbb..0972dbbb 100755
--- a/cholerab/too_old/ttycnser.sh
+++ b/.graveyard/cholerab-live/ttycnser.sh
diff --git a/.graveyard/cholerab-live/view.py b/.graveyard/cholerab-live/view.py
new file mode 100644
index 00000000..6a75f655
--- /dev/null
+++ b/.graveyard/cholerab-live/view.py
@@ -0,0 +1,112 @@
+#!/usr/bin/python2
+
+from curses import *
+import socket
+import threading
+import logging
+log = logging.getLogger('cholerab-curses')
+
+class CursesView(threading.Thread):
+ def addch(self,char):
+ """
+ adds a char at the current cursor position
+ abstraction to the curses win.addch()
+ """
+ try: self.win.addch(char)
+ except: pass
+ self.cholerab.send_char(self.x,self.y,chr(char))
+ def stop(self):
+ #TODO setting back the whole terminal currently does not work correctly, fix me harder
+ self.running = False
+ self.clear()
+ self.win.refresh()
+ nocbreak(); self.scr.keypad(0); echo()
+ #endwin()
+
+ def run(self):
+ """
+ input loop
+
+ TODO add Unicode Input Support
+ """
+ self.running = True
+ def try_move(x,y):
+ if x >= self.width: x = 0;y = y+1
+ if x < 0 : x = self.width-1; y= y-1
+ if y >= self.height : x = x+1;y = 0
+ if y < 0 : x = x-1; y = self.height-1
+ self.win.move(y,x); return x,y
+
+ while self.running:
+ c = self.scr.getch() #get_char(self.scr)
+ #TODO UTF8 here, get_wch not yet implemented
+ log.debug("Pressed : %d" % c)
+ if c == KEY_LEFT : self.x -=1
+ elif c == KEY_RIGHT : self.x +=1
+ elif c == KEY_UP : self.y -=1
+ elif c == KEY_DOWN : self.y +=1
+ elif c == ord('q') : self.stop()
+ elif c == 127 or c == KEY_BACKSPACE:
+ log.info('backspace pressed')
+ self.x -=1;
+ self.x,self.y = try_move(self.x,self.y)
+ self.addch(ord(' '))
+ elif c == ord('\n'):
+ log.info('enter pressed')
+ self.y +=1;
+ self.x,self.y = try_move(self.x,self.y)
+ else :
+ self.addch(c)
+ self.x +=1
+ self.x,self.y = try_move(self.x,self.y)
+ self.refresh()
+
+ def write_char(self,x,y,char,user=1):
+ user = user % 3 + 1
+ self.win.addch(y,x,char,color_pair(user))
+ self.win.move(self.y,self.x)
+ self.refresh()
+ def write_str(self,x,y,string,user=1):
+ self.win.addstr(y,x,string,color_pair(user))
+ self.win.move(self.y,self.x)
+ self.refresh()
+ def refresh(self):
+ self.scr.refresh()
+ self.win.refresh()
+ def clear(self):
+ self.win.clear()
+ pass
+ def write_field(self,ar):
+ """
+ writes the whole field with given 2-dimensional array
+ """
+ self.clear()
+ pass
+
+ def __init__(self,height=24,width=80,cholerab=None,scr=None):
+ # TODO handle sessions somehow
+ if scr:
+ self.scr = scr
+ else:
+ self.scr = initscr()
+ start_color()
+ init_pair(1,COLOR_WHITE,COLOR_BLACK)
+ init_pair(2,COLOR_RED,COLOR_BLACK)
+ init_pair(3,COLOR_GREEN,COLOR_BLACK)
+ init_pair(3,COLOR_CYAN,COLOR_BLACK)
+ threading.Thread.__init__(self)
+ self.cholerab = cholerab
+
+ noecho()
+ cbreak()
+ self.scr.keypad(1)
+ try: curs_set(2)
+ except: pass # go home with your non-standard terminals!
+
+ begin_x = 0;begin_y = 0
+ self.height = height
+ self.width = width
+ self.x = 0 ; self.y = 0
+
+ self.win = newwin(height,width,begin_y,begin_x)
+ self.clear()
diff --git a/god/temper/.gitignore b/.graveyard/temper/.gitignore
index 7e50641a..7e50641a 100644
--- a/god/temper/.gitignore
+++ b/.graveyard/temper/.gitignore
diff --git a/god/temper/99-tempsensor.rules b/.graveyard/temper/99-tempsensor.rules
index 441a469e..441a469e 100644
--- a/god/temper/99-tempsensor.rules
+++ b/.graveyard/temper/99-tempsensor.rules
diff --git a/god/temper/Makefile b/.graveyard/temper/Makefile
index 80c0206f..d18ad710 100644
--- a/god/temper/Makefile
+++ b/.graveyard/temper/Makefile
@@ -1,12 +1,12 @@
all: infest
infest: temper rules-install
-CFLAGS = -O2 -Wall
+CFLAGS = -O2 -Wall -DDEBUG
temper: temper.c
${CC} -DUNIT_TEST -o $@ $^ -lusb
chmod +s temper
- cp -a temper /usr/bin
+ #cp -a temper /usr/bin
clean:
rm -f temper *.o
diff --git a/god/temper/collectd-temper.sh b/.graveyard/temper/collectd-temper.sh
index f66e9acc..f66e9acc 100755
--- a/god/temper/collectd-temper.sh
+++ b/.graveyard/temper/collectd-temper.sh
diff --git a/god/temper/temper.c b/.graveyard/temper/temper.c
index 390f9056..f0730ab3 100644
--- a/god/temper/temper.c
+++ b/.graveyard/temper/temper.c
@@ -221,7 +221,7 @@ TemperGetOtherStuff(Temper *t, char *buf, int length)
#define USB_TIMEOUT 1000 /* milliseconds */
-#define DEBUG_MODE 0
+#define DEBUG_MODE 1
#define SLEEP_TIMEOUT 10
int
diff --git a/god/temper/temper.h b/.graveyard/temper/temper.h
index 7ea6280a..7ea6280a 100644
--- a/god/temper/temper.h
+++ b/.graveyard/temper/temper.h
diff --git a/god/streams/bin/relaxxapi.py b/god/streams/bin/relaxxapi.py
index f367caef..55e628b0 100755
--- a/god/streams/bin/relaxxapi.py
+++ b/god/streams/bin/relaxxapi.py
@@ -78,7 +78,7 @@ class relaxx:
def get_first(self):
return json.loads(self._playlist("getPlaylistInfo","0",""))[0]
- def get_first(self):
+ def get_last(self):
return json.loads(self._playlist("getPlaylistInfo","0",""))[-1]
def clear(self):
@@ -124,7 +124,7 @@ class relaxx:
if state["status"]["state"] == "play" :
ident = state["status"]["song"]
current = state["playlist"]["file"][int(ident)]
- return current.get("Name",current.get("Artist")) + " - " + current["Title"]
+ return current.get("Name",current.get("Artist","unkown artist")) + " - " + current.get("Title","unknown title")
else:
return ""
diff --git a/god/streams/bin/streams b/god/streams/bin/streams
index ea6e9a90..8e00a733 100755
--- a/god/streams/bin/streams
+++ b/god/streams/bin/streams
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python2
import os
import sys
from subprocess import Popen, PIPE