diff --git a/keynote_parser/codec.py b/keynote_parser/codec.py index d8dab6b..a693d30 100644 --- a/keynote_parser/codec.py +++ b/keynote_parser/codec.py @@ -236,6 +236,8 @@ def to_buffer(self): # Each message_info as part of the header needs to be updated # so that its length matches the object contained within. for obj, message_info in zip(self.objects, self.header.message_infos): + if (obj.DESCRIPTOR.full_name == "TST.GroupByArchive"): + obj.is_enabled = True try: object_length = len(obj.SerializeToString()) provided_length = message_info.length diff --git a/keynote_parser/mapping.py b/keynote_parser/mapping.py index 641c7f5..d7ae7db 100644 --- a/keynote_parser/mapping.py +++ b/keynote_parser/mapping.py @@ -79,6 +79,8 @@ def compute_maps(): for file in PROTO_FILES: for message_name in file.DESCRIPTOR.message_types_by_name: message_type = getattr(file, message_name) + for m in message_type.DESCRIPTOR.nested_types: + name_class_map[m.full_name] = message_type name_class_map[message_type.DESCRIPTOR.full_name] = message_type id_name_map = {}