+def srv_lookup(name, resolver):
+ retval = []
+ result = resolver.resolve(name, rrtype=RR_TYPE_SRV)
+ for bytevalue in result.data.raw:
+ priority, weight, port = struct.unpack("!HHH", bytevalue[:6])
+ hostname = '.'.join(result.data.dname2str(bytevalue[6:]))
+ retval.append(((hostname, port), {'priority': priority, 'weight': weight}))
+ return retval
+
+