From: Marius Sandu-Popa Date: Thu, 29 Apr 2010 21:58:19 +0000 (+0300) Subject: autorun: Commander vers 1.1 X-Git-Tag: getopt_long~42 X-Git-Url: http://p2p-next.cs.pub.ro/gitweb/?a=commitdiff_plain;h=f15353ba8b78a2a47ee115bbb6fa3cbc23510fdd;p=cs-p2p-next.git autorun: Commander vers 1.1 --- diff --git a/autorun/commander/Commander.py b/autorun/commander/Commander.py index 9fba3b8..e06a5bb 100644 --- a/autorun/commander/Commander.py +++ b/autorun/commander/Commander.py @@ -58,13 +58,13 @@ class Commander(Thread): return if argv[0] == 'all': for node in self.nodes.getNodes(): - print callbacks[comm](node) + callbacks[comm](node) elif argc==1: node = self.nodes.getNode(argv[0]) if not node: print "Unknown node id!" return - print callbacks[comm](node) + callbacks[comm](node) def clientC(self, comm, argv): argc = len(argv) @@ -80,7 +80,7 @@ class Commander(Thread): if not node: print "Incompatible XML files!" return - print callbacks[comm](node, si) + callbacks[comm](node, si) elif argc==1: node = self.nodes.getNode(argv[0]) if not node: @@ -90,7 +90,7 @@ class Commander(Thread): if not si: print "Unknown client id!" return - print callbacks[comm](node, si) + callbacks[comm](node, si) else: node = self.nodes.getNode(argv[0]) if not node: @@ -100,7 +100,7 @@ class Commander(Thread): if not si: print "Unknown client id!" return - print callbacks[comm](node, si) + callbacks[comm](node, si) def startNodeServer(self, node): comm = SERVER_TYPE+" "+SERVER_DIR+SERVER_FILE+\ @@ -129,31 +129,53 @@ class Commander(Thread): ret = self.Commander.start(node.public_address, int(node.listen_port), config_data) - print ">>>>>>>>", ret + #print ">>>>>>>>", ret if ret: si.pid = ret def stopSI(self, node, si): - return self.Commander.stop(node.public_address, + ret = self.Commander.stop(node.public_address, int(node.listen_port), si.pid) def statusSI(self, node, si): - return self.Commander.status(node.public_address, + ret = self.Commander.status(node.public_address, int(node.listen_port), si.pid) + if ret: print ret def getNodeStatus(self, node): - return self.Commander.getClients(node.public_address, + ret = self.Commander.getClients(node.public_address, int(node.listen_port)) + if ret: + print 'node ' + node.id + ' (' + node.public_address +\ + ":" +node.public_port + " -> " + node.private_address +\ + ":" +node.listen_port +' ):' + for l in ret: + print " -" + l[0] + " client(pid:" + str(l[1]) +") on \"" + l[2] +"\"" def getNodeOutput(self, node): - return self.Commander.getOutput(node.public_address, + ret = self.Commander.getOutput(node.public_address, int(node.listen_port)) - + if ret: + print 'node ' + node.id + ' (' + node.public_address +\ + ":" +node.public_port + " -> " + node.private_address +\ + ":" +node.listen_port +' ):' + for l in ret: + print " -" + l[0] + " client on \"" + l[1] + "\" outputs at:" + for ll in l[2:]: + print "\t" + ll[1] + ": "+ll[0] + print "" + def nodeArchive(self, node): - return self.Commander.archive(node.public_address, + ret = self.Commander.archive(node.public_address, int(node.listen_port)) - + if ret: + print 'node ' + node.id + ' (' + node.public_address +\ + ":" +node.public_port + " -> " + node.private_address +\ + ":" +node.listen_port +' ):' + for l in ret: + print "archiving ... " +l + def cleanNode(self, node): pass @@ -220,7 +242,7 @@ class Commander(Thread): " KB/s" + ", Up:" +si.upload_limit + " KB/s" + ' )' def about(self): - print "Commander version 1.0.3" + print "Commander version 1.1" print "Enter \"help\" for instructions" if __name__ == "__main__": diff --git a/autorun/commander/CommanderBase.py b/autorun/commander/CommanderBase.py index f6a0678..c1c2f77 100644 --- a/autorun/commander/CommanderBase.py +++ b/autorun/commander/CommanderBase.py @@ -17,9 +17,6 @@ class CommanderBase(): self.sendMsg(pickle.dumps((msg_type, config_data))) response = self.recvMsg() return response - except Exception, e: - print "Ups: Could not complete request" - print e finally: self.sock.close() @@ -45,66 +42,83 @@ class CommanderBase(): return dd def getClients(self, public_address, listen_port): - msg_type, msg_data = self.sendComm(public_address, - listen_port, - GET_CLIENTS, - "") - if msg_type == ACK_MSG: - return msg_data - else: - error("get_clients", msg_data) + try: + msg_type, msg_data = self.sendComm(public_address, + listen_port, + GET_CLIENTS, + "") + if msg_type == ACK_MSG: + return msg_data + else: + error("get_clients", msg_data) + except Exception, e: + print e def getOutput(self, public_address, listen_port): - msg_type, msg_data = self.sendComm(public_address, - listen_port, - GET_OUTPUT, - "") - if msg_type == ACK_MSG: - return msg_data - else: - error("get_output", msg_data) + try: + msg_type, msg_data = self.sendComm(public_address, + listen_port, + GET_OUTPUT, + "") + if msg_type == ACK_MSG: + return msg_data + else: + error("get_output", msg_data) + except Exception, e: + print e def archive(self, public_address, listen_port): - msg_type, msg_data = self.sendComm(public_address, - listen_port, - ARCHIVE, - "") - if msg_type == ACK_MSG: - return msg_data - else: - error("archive", msg_data) + try: + msg_type, msg_data = self.sendComm(public_address, + listen_port, + ARCHIVE, + "") + if msg_type == ACK_MSG: + return msg_data + else: + error("archive", msg_data) + except Exception, e: + print e - def start(self, public_address, listen_port, config_data): - msg_type, msg_data = self.sendComm(public_address, - listen_port, - START_MSG, - config_data) - if msg_type == ACK_MSG: - return msg_data - else: - error("start_client", msg_data) + def start(self, public_address, listen_port, config_data): + try: + msg_type, msg_data = self.sendComm(public_address, + listen_port, + START_MSG, + config_data) + if msg_type == ACK_MSG: + return msg_data + else: + error("start_client", msg_data) + except Exception, e: + print e def stop(self, public_address, listen_port, client_pid): - msg_type, msg_data = self.sendComm(public_address, - listen_port, - STOP_MSG, - client_pid) - - if msg_type == ACK_MSG: - return True - else: - error("stop_client", msg_data) + try: + msg_type, msg_data = self.sendComm(public_address, + listen_port, + STOP_MSG, + client_pid) + + if msg_type == ACK_MSG: + return True + else: + error("stop_client", msg_data) + except Exception, e: + print e def status(self, public_address, listen_port, client_pid): - msg_type, msg_data = self.sendComm(public_address, - listen_port, - GET_STATUS, - client_pid) - if msg_type == ACK_MSG: - return msg_data - else: - error("start_client", msg_data) - + try: + msg_type, msg_data = self.sendComm(public_address, + listen_port, + GET_STATUS, + client_pid) + if msg_type == ACK_MSG: + return msg_data + else: + error("start_client", msg_data) + except Exception, e: + print e def clean(self): pass