diff options
Diffstat (limited to 'abs/core/LinHES-system/msg_daemon.py')
-rwxr-xr-x | abs/core/LinHES-system/msg_daemon.py | 39 |
1 files changed, 24 insertions, 15 deletions
diff --git a/abs/core/LinHES-system/msg_daemon.py b/abs/core/LinHES-system/msg_daemon.py index b766aae..0e54824 100755 --- a/abs/core/LinHES-system/msg_daemon.py +++ b/abs/core/LinHES-system/msg_daemon.py @@ -224,12 +224,8 @@ class Msg_Queue(): def search(self,key,value): pass - def print_queue(self): - print "############################" - for i in self.msglist: - for key, value in i.iteritems(): - print key,":", value - print "-----" + def get_queue(self): + return self.msglist def get_last_msg_slot(self): return self.msg_slot @@ -289,7 +285,7 @@ class msg_queue_runner(threading.Thread): self.p.start() self.p.join() elif style == "default": - display_time = int(msgdict['timeout']) + #display_time = int(msgdict['timeout']) self.out_xosd.display(msgtext,display_time) except: @@ -310,40 +306,53 @@ if __name__ == "__main__": # Create a UDS socket sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) # Bind the socket to the port - print >>sys.stderr, 'starting up on %s' % server_address + #print >>sys.stderr, 'starting up on %s' % server_address sock.bind(server_address) #change permissions of socket os.chmod(server_address,0777) # Listen for incoming connections - sock.listen(1) + sock.listen(2) #start msg display thread msgthread = msg_queue_runner(msg_queue) msgthread.setDaemon(True) msgthread.start() - #main loop that reads in the cmddict, never exits while True: # Wait for a connection connection, client_address = sock.accept() try: - sf = connection.makefile("r+b", bufsize=0) - data = sf.read() + #sf = connection.makefile("r+b", bufsize=0) + data = connection.recv(1024) cmddict = (pickle.loads(data)) - + connection.send(" Server acknowledged client \n") if cmddict['cmd'] == "msg": #add to msg_queue msg_queue.add_msg(cmddict) + elif cmddict['cmd'] == 'clear': if cmddict['tag'] == '' or cmddict['tag'] == None : msg_queue.clear() else: msg_queue.clear_msg(cmddict['tag']) + elif cmddict['cmd'] == 'kill': msgthread.kill_current() - ## call(["/usr/LH/bin/lh_message.sh", msg]) - #break + + elif cmddict['cmd'] == 'list': + q = msg_queue.get_queue() + for i in q: + line="-------------\n" + connection.send(line) + for k,v in i.iteritems(): + line=" %s : %s\n" %(k,v) + connection.send(line) + line = "Number of messages in queue: %s \n" %(len(q)) + connection.send(line) + #connection.send(pickle.dumps(q)) + + finally: # Clean up the connection connection.close() |