comparison hgext/zeroconf/Zeroconf.py @ 10343:b8e3aeb7542c

zeroconf: do not try to encode encoded strings (issue1942)
author Henrik Stuart <hg@hstuart.dk>
date Sat, 06 Feb 2010 17:31:54 +0100
parents e0121ad90b57
children 3dfc6b2cf916
comparison
equal deleted inserted replaced
10342:579aae5aa549 10343:b8e3aeb7542c
1058 list = [] 1058 list = []
1059 result = '' 1059 result = ''
1060 for key in properties: 1060 for key in properties:
1061 value = properties[key] 1061 value = properties[key]
1062 if value is None: 1062 if value is None:
1063 suffix = ''.encode('utf-8') 1063 suffix = ''
1064 elif isinstance(value, str): 1064 elif isinstance(value, str):
1065 suffix = value.encode('utf-8') 1065 suffix = value
1066 elif isinstance(value, int): 1066 elif isinstance(value, int):
1067 if value: 1067 if value:
1068 suffix = 'true' 1068 suffix = 'true'
1069 else: 1069 else:
1070 suffix = 'false' 1070 suffix = 'false'
1071 else: 1071 else:
1072 suffix = ''.encode('utf-8') 1072 suffix = ''
1073 list.append('='.join((key, suffix))) 1073 list.append('='.join((key, suffix)))
1074 for item in list: 1074 for item in list:
1075 result = ''.join((result, struct.pack('!c', chr(len(item))), item)) 1075 result = ''.join((result, struct.pack('!c', chr(len(item))), item))
1076 self.text = result 1076 self.text = result
1077 else: 1077 else: