From 7bf288feae074e17626b94cbf3b37a5ec4224187 Mon Sep 17 00:00:00 2001 From: Sebastien Estienne Date: Thu, 27 Oct 2005 19:50:01 +0000 Subject: [PATCH] * nicer display of txt records git-svn-id: file:///home/lennart/svn/public/avahi/trunk@900 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe --- avahi-utils/avahi-discover.in | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/avahi-utils/avahi-discover.in b/avahi-utils/avahi-discover.in index 1083b6c..00a5602 100755 --- a/avahi-utils/avahi-discover.in +++ b/avahi-utils/avahi-discover.in @@ -73,12 +73,7 @@ class Main_window(SimpleGladeApp): print "\tHost %s (%s), port %i, TXT data: %s" % (host, address, port, str(avahi.txt_array_to_string_array(txt))) - if len(txt) == 0: - txt_data = "empty" - else: - txt_data = str(avahi.txt_array_to_string_array(txt)) - - self.update_label(interface, protocol, name, stype, domain, host, aprotocol, address, port, txt_data) + self.update_label(interface, protocol, name, stype, domain, host, aprotocol, address, port, avahi.txt_array_to_string_array(txt)) def print_error(self, err): error_label = "Error: %s" % (err) @@ -172,8 +167,28 @@ class Main_window(SimpleGladeApp): if domain != "local": self.browse_domain(interface, protocol, domain) + def pair_to_dict(self, l): + res = dict() + for el in l: + if "=" not in el: + res[el]='' + else: + tmp = el.split('=',1) + if len(tmp[0]) > 0: + res[tmp[0]] = tmp[1] + return res + + def update_label(self,interface, protocol, name, stype, domain, host, aprotocol, address, port, txt): - infos = "Service Type: %s\nService Name: %s\nDomain Name: %s\nInterface: %s %s\nAddress: %s/%s:%i\nTXT Data: %s" % (stype, name, domain, self.siocgifname(interface), self.protoname(protocol), host, address, port, str(txt)) + if len(txt) != 0: + txts = "" + txtd = self.pair_to_dict(txt) + for k,v in txtd.items(): + txts+="TXT %s = %s\n" % (k,v) + else: + txts = "TXT Data: empty" + + infos = "Service Type: %s\nService Name: %s\nDomain Name: %s\nInterface: %s %s\nAddress: %s/%s:%i\n%s" % (stype, name, domain, self.siocgifname(interface), self.protoname(protocol), host, address, port, txts.strip()) self.info_label.set_markup(infos) def insert_row(self, model,parent, -- 2.39.5