def from_xml(cls, tag: ET.Element, field_types_by_caption=None):
"""
:param tag:
:type field_types_by_caption: dict[str, FieldType]
:return:
"""
field_types_by_caption = dict() if field_types_by_caption is None else field_types_by_caption
name = tag.get("name")
start, end = int(tag.get("start", 0)), int(tag.get("end", 0)) - 1
color_index = int(tag.get("color_index", 0))
result = ProtocolLabel(name=name, start=start, end=end, color_index=color_index)
result.apply_decoding = True if tag.get("apply_decoding", 'True') == "True" else False
result.show = Qt.Checked if Formatter.str2val(tag.get("show", 0), int) else Qt.Unchecked
result.fuzz_me = Qt.Checked if Formatter.str2val(tag.get("fuzz_me", 0), int) else Qt.Unchecked
result.fuzz_values = tag.get("fuzz_values", "").split(",")
result.display_format_index = int(tag.get("display_format_index", 0))
result.auto_created = True if tag.get("auto_created", 'False') == "True" else False
if result.name in field_types_by_caption:
result.field_type = field_types_by_caption[result.name]
else:
result.field_type = None
return result
评论列表
文章目录