From 619297646188564dbf2cf7925bd5cee4e946773d Mon Sep 17 00:00:00 2001 From: Sebastien Estienne Date: Tue, 6 Sep 2005 16:48:07 +0000 Subject: * check that icon exists, if not use a default icon * check that script exists, if not do nothing git-svn-id: file:///home/lennart/svn/public/service-discovery-applet/trunk@9 3be567f1-68ff-0310-b24a-ad7cc433fd2f --- src/service-discovery-applet.in | 42 +++++++++++++++++++++++++++-------------- 1 file 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 = "Name : %s\nType : %s (%s)" % (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 = "Name : %s\nType : %s (%s)" % (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 = "Name : %s\nType : %s (%s)" % (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 = "Name : %s\nType : %s (%s)" % (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): -- cgit