diff options
Diffstat (limited to 'src/service-discovery-applet.in')
-rwxr-xr-x | src/service-discovery-applet.in | 42 |
1 files changed, 28 insertions, 14 deletions
diff --git a/src/service-discovery-applet.in b/src/service-discovery-applet.in index 7a9845c..5e076fc 100755 --- a/src/service-discovery-applet.in +++ b/src/service-discovery-applet.in @@ -80,15 +80,15 @@ def siocgifname(interface): def service_resolved(interface, protocol, name, type, domain, host, aprotocol, address, port, txt): print "Service data for service '%s' of type '%s' in domain '%s' on %s.%i:" % (name, type, domain, siocgifname(interface), protocol) print "\tHost %s (%s), port %i, TXT data: %s" % (host, address, port, avahi.txt_array_to_string_array(txt)) - cmd = '@scriptsdir@/%s.sh "%s" %s %s %i "%s"' % (type, name, host, address, port," ".join(avahi.txt_array_to_string_array(txt))) - os.system(cmd) + if os.path.exists("@scriptsdir@/%s.sh"): + cmd = '@scriptsdir@/%s.sh "%s" %s %s %i "%s"' % (type, name, host, address, port," ".join(avahi.txt_array_to_string_array(txt))) + os.system(cmd) # if type == "_http._tcp": # # url = "http://%s:%i" % (address,port) # gnome.url_show(url) # else: # os.system(cmd) - # FIXME: text if the script exist def print_error(err): print "Error:", str(err) @@ -104,13 +104,16 @@ def new_service(interface, protocol, name, type, domain): if zc_types.has_key(type) == False: menuitem = gtk.ImageMenuItem() if zc_pretty_name.has_key(type): - menuitem.add(gtk.Label(zc_pretty_name[type])) - img = gtk.Image() - iconfile = "@iconsdir@/24x24/%s.png" % (type) - img.set_from_file(iconfile) - menuitem.set_image(img) + pretty_name = zc_pretty_name[type] else: - menuitem.add(gtk.Label(type)) + pretty_name = type + menuitem.add(gtk.Label(pretty_name)) + img = gtk.Image() + iconfile = "@iconsdir@/24x24/%s.png" % (type) + if not os.path.exists(iconfile): + iconfile = "@iconsdir@/24x24/service-discovery-applet.png" + img.set_from_file(iconfile) + menuitem.set_image(img) service_menu.add(menuitem) zc_types[type] = gtk.Menu() @@ -124,7 +127,14 @@ def new_service(interface, protocol, name, type, domain): menuitem.show_all() iconfile = "@iconsdir@/48x48/%s.png" % (type) - message = "<b>Name :</b> %s\n<b>Type : </b> %s <i>(%s)</i>" % (name,zc_pretty_name[type], type) + if not os.path.exists(iconfile): + iconfile = "@iconsdir@/48x48/service-discovery-applet.png" + + pretty_name = type + if zc_pretty_name.has_key(type): + pretty_name = zc_pretty_name[type] + + message = "<b>Name :</b> %s\n<b>Type : </b> %s <i>(%s)</i>" % (name,pretty_name, type) try: if show_notifications == True: notif.Notify("Service Discovery Applet", @@ -147,9 +157,15 @@ def remove_service(interface, protocol, name, type, domain): service_menu.remove(zc_types[type].get_attach_widget()) del zc_types[type] - # check that iconfil exist iconfile = "@iconsdir@/48x48/%s.png" % (type) - message = "<b>Name :</b> %s\n<b>Type : </b> %s <i>(%s)</i>" % (name,zc_pretty_name[type], type) + if not os.path.exists(iconfile): + iconfile = "@iconsdir@/48x48/service-discovery-applet.png" + + pretty_name = type + if zc_pretty_name.has_key(type): + pretty_name = zc_pretty_name[type] + + message = "<b>Name :</b> %s\n<b>Type : </b> %s <i>(%s)</i>" % (name, pretty_name, type) try: if show_notifications == True: notif.Notify("Service Discovery Applet", @@ -236,7 +252,6 @@ def start_service_discovery(component, verb, applet): if gc_client.get_bool(gc_entry.key) == True: service_type = os.path.basename(gc_entry.key) add_service_type(interface, protocol, service_type, domain) - print "start" def stop_service_discovery(component, verb, applet): global domain @@ -247,7 +262,6 @@ def stop_service_discovery(component, verb, applet): for service in service_browsers.copy(): del_service_type(service[0],service[1],service[2],service[3]) domain = "" - print "stop" # Callback called when a service is added/removed/enabled/disabled in gconf def gc_services_cb (client, cnxn_id, gc_entry, data): |