#!/usr/bin/python2 #client for msg_daemon import socket import sys import argparse import pickle # Create a UDS socket sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) # Connect the socket to the port where the server is listening server_address = '/run/msg_socket' def send_message(message): #print >>sys.stderr, 'connecting to %s' % server_address try: sock.connect(server_address) except socket.error, msg: print >>sys.stderr, msg sys.exit(1) try: sock.sendall(message) #amount_received = 0 #amount_expected = len(message) #while amount_received < amount_expected: # data = sock.recv(16) # amount_received += len(data) # print >>sys.stderr, 'received "%s"' % data finally: #print >>sys.stderr, 'closing socket' print "message sent" sock.close() if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument('--tag', action='store', dest='tag',help='message tag') parser.add_argument('--timeout', action='store', dest='timeout',help='time to display message') action = parser.add_mutually_exclusive_group(required=True) action.add_argument('--msg', action='store', dest='msg', help='Add message to the queue') action.add_argument('--clear', action='store_true', help='Remove message from queue that match tag') action.add_argument('--kill', action='store_true', help='Kill current msg thats displayed') results = parser.parse_args() resultsdict = vars(results) if results.msg : cmd = "msg" elif results.clear: cmd = "clear" elif results.kill: cmd = "kill" arg_dict = {'cmd':cmd , 'msg':resultsdict['msg'] , 'tag':resultsdict['tag'] , 'timeout':resultsdict['timeout']} send_message(pickle.dumps(arg_dict)) #sys.exit(0)