summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastien Estienne <sebastien.estienne@gmail.com>2005-09-06 16:48:07 +0000
committerSebastien Estienne <sebastien.estienne@gmail.com>2005-09-06 16:48:07 +0000
commit619297646188564dbf2cf7925bd5cee4e946773d (patch)
treefa21e8503008488d4e7a597baad1a7d7845da163
parent193aa246dd77d553a77052d8db168f8c65d1c246 (diff)
* 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
-rwxr-xr-xsrc/service-discovery-applet.in42
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):