def __setitem__(self, key, value): if key == 'Data' and isinstance(value, NDR) is False: try: value.encode('utf-16le') except UnicodeDecodeError: import sys value = value.decode(sys.getfilesystemencoding()) self['Length'] = len(value) * 2 self['MaximumLength'] = len(value) * 2 return NDRSTRUCT.__setitem__(self, key, value)
def __setitem__(self, key, value): if key == 'Data' and isinstance(value, NDR) is False: try: value.encode('utf-16le') except UnicodeDecodeError: import sys value = value.decode(sys.getfilesystemencoding()) self['Length'] = len(value)*2 self['MaximumLength'] = len(value)*2 return NDRSTRUCT.__setitem__(self, key, value)
def __setitem__(self, key, value): if key == 'asData': value = value #+ '\x00' array = list() for letter in value: encoded = letter.encode('utf-16le') array.append(unpack('<H', encoded)[0]) self.fields[key]['Data'] = array self['cBytes'] = len(value)*2 self['clSize'] = len(value) self.data = None # force recompute else: return NDRSTRUCT.__setitem__(self, key, value)
def __setitem__(self, key, value): if key == 'asData': value = value #+ '\x00' array = list() for letter in value: encoded = letter.encode('utf-16le') array.append(unpack('<H', encoded)[0]) self.fields[key]['Data'] = array self['cBytes'] = len(value) * 2 self['clSize'] = len(value) self.data = None # force recompute else: return NDRSTRUCT.__setitem__(self, key, value)
def __setitem__(self, key, value): if key == 'Data' and isinstance(value, NDR) is False: self['Length'] = len(value) self['MaximumLength'] = len(value) return NDRSTRUCT.__setitem__(self, key, value)
def __setitem__(self, key, value): if key == 'Data' and isinstance(value, NDR) is False: self['Length'] = len(value)*2 self['MaximumLength'] = len(value)*2 return NDRSTRUCT.__setitem__(self, key, value)