def main(args=sys.argv[1:]): import ipmsg from ipmsg.config import settings import ipmsg.consts as c from optparse import OptionParser usage = '%prog [options] message ip[:port]' parser = OptionParser(usage=usage) parser.add_option("-p", "--port", type="int", dest="port", default=c.IPMSG_DEFAULT_PORT, help="port", metavar="PORT") parser.add_option("-u", "--user", dest="user", default='', help="user name") parser.add_option("-g", "--group", dest="group", default='', help="group name") parser.add_option("-b", "--broadcast", action="store_true", dest="broadcast", default=False, help="broadcast", metavar="") parser.add_option("-s", "--seal", action="store_true", dest="seal", default=False, help="seal message", metavar="") (options, args) = parser.parse_args() settings['user_name'] = options.user settings['group_name'] = options.group # TODO: It seems that I didn't implemented the multicast part... if options.broadcast: pass if len(args) < 2: parser.print_help() sys.exit() try: nics = ipmsg.get_all_network_interface() if len(nics) == 0: print('No network avalible.') sys.exit() msg = args[0] addrs = [] for x in args[1:]: addr = x.split(':') if len(addr) == 1: addr.append(options.port) else: addr[1] = int(addr[1]) addrs.append(tuple(addr)) except NotImplemented: parser.print_help() sys.exit() else: ipmsg.init(port=options.port) ipmsg.engine.start_server() for addr in addrs: ipmsg.send(addrs=[addr], msg=msg, encrypt=False, seal=options.seal) print(ipmsg.whatsnew()) ipmsg.engine.stop_server() sys.exit()
def __init__(self, applet, iid): gnome.init(APPNAME, VERSION) self.applet = applet self.applet.set_name('pyipmsgapplet') self.applet.set_applet_flags(gnomeapplet.EXPAND_MINOR) self.applet.connect('change-orient', self.on_change_orient) self.incoming = [] self.logviewer = LogViewer() self.pref = Preferences() self.share_monitor = ShareMonitor(ipmsg.get_share_status, ipmsg.remove_share) #self.clean_webshare() nics = ipmsg.get_all_network_interface() ipmsg.init(nics=nics, settings_file=config_file) gobject.timeout_add(100, self.mainloop) if nics: self.turn_on() self._build_ui() self._key_bind()