def __init__(self, value, fuzz_value=True, fuzz_length=True, fuzz_delim=True, name=None): ''' :param value: str, will be enclosed in String :param fuzz_value: bool (default: True) :param fuzz_length: bool (default: True) :param fuzz_delim: bool (default: True) :param name: name of container (default: None) ''' name = name if name is not None else _unique_name(type(self).__name__) if isinstance(value, str): fvalue = String(value=value, fuzzable=fuzz_value, name=_merge(name, 'value')) else: fvalue = value fvalue_name = fvalue.get_name() super(TString, self).__init__(name=name, fields=[ SizeInBytes(sized_field=fvalue_name, length=32, encoder=ENC_INT_DEC, fuzzable=fuzz_length, name=_merge(name, 'length')), Delimiter(value=':', fuzzable=fuzz_delim, name=_merge(name, 'delim')), fvalue ])