示例#1
0
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()
示例#2
0
    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()
示例#3
0
文件: cmdline.py 项目: yws/ipmsg
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()