X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=avahi-utils%2Favahi-publish-address;fp=avahi-utils%2Favahi-publish-address;h=0000000000000000000000000000000000000000;hb=1a912326734243e57a461c48131c1a0402318b5a;hp=d03f9287917c8dc5f9268cbdba35e31db49db7ac;hpb=4a26b34ce1c7c2b1f0b65028f5d096939ab9b164;p=catta diff --git a/avahi-utils/avahi-publish-address b/avahi-utils/avahi-publish-address deleted file mode 100755 index d03f928..0000000 --- a/avahi-utils/avahi-publish-address +++ /dev/null @@ -1,73 +0,0 @@ -#!/usr/bin/python2.4 -# -*-python-*- -# $Id$ - -import avahi, dbus, gobject, sys, getopt, string - -try: - import dbus.glib -except ImportError, e: - pass - -def usage(retval = 0): - print "%s
" % sys.argv[0] - sys.exit(retval) - -if len(sys.argv) != 3: - usage(2) - -name = sys.argv[1] -address = sys.argv[2] - -group = None -n_rename = 0 - -def remove_address(): - global group - - if not (group is None): - group.Free() - group = None - -def add_address(): - global server, group, name, address - assert group is None - - print "Adding address '%s' for '%s' ..." % (name, address) - group = dbus.Interface(bus.get_object(avahi.DBUS_NAME, server.EntryGroupNew()), avahi.DBUS_INTERFACE_ENTRY_GROUP) - group.connect_to_signal('StateChanged', entry_group_state_changed) - group.AddAddress(avahi.IF_UNSPEC, avahi.PROTO_UNSPEC, name, address) - group.Commit() - -def entry_group_state_changed(state): - global name, server, n_rename, main_loop - - if state == avahi.ENTRY_GROUP_ESTABLISHED: - print "Address established." - elif state == avahi.ENTRY_GROUP_COLLISION: - - n_rename = n_rename + 1 - if n_rename >= 12: - print "ERROR: No suitable name found after %i retries, exiting." % n_rename - main_loop.quit() - else: - hn = name.split('.') - hn[0] = server.GetAlternativeHostName(hn[0]) - name = string.join(hn, '.') - print "WARNING: Address/host name collision, changing name to '%s' ..." % name - remove_address() - add_address() - -main_loop = gobject.MainLoop() - -bus = dbus.SystemBus() -server = dbus.Interface(bus.get_object(avahi.DBUS_NAME, avahi.DBUS_PATH_SERVER), avahi.DBUS_INTERFACE_SERVER) - -add_address() - -try: - main_loop.run() -except KeyboardInterrupt, k: - pass - -remove_address()