psobot / keynote-parser

A packer/unpacker for Apple Keynote presentation files.
158 stars 17 forks source link

Please add support for Keynote 14.0 (7039.0.94, 1A102s) #58

Open tlambert03 opened 6 months ago

tlambert03 commented 6 months ago

hey there and thanks for putting this together. Very cool.

I'm opening this not because I have an issue (that I've found yet), but just to track progress on this version. I tried to see if I could do it locally (with the makefile in dumper) but it seems to hang inside of xcrun python ./extract_mapping.py. I'm not sure if it's waiting on a breakpoint or what.

I'm relatively curious to learn more about the lldb wizardry you've got going on here :), so if I can be of help and you want to give me a quick clue on how to debug a hanged extract_mapping process, I'm all ears! However, i'm sure you're busy and none of this is blocking.

thanks

tlambert03 commented 6 months ago

did find a concrete failure:

Traceback (most recent call last):
  File "/Users/talley/dev/self/slydb/.venv/lib/python3.12/site-packages/keynote_parser/codec.py", line 195, in from_buffer
    klass = ID_NAME_MAP[message_info.type]
            ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
KeyError: 6383

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/talley/dev/self/slydb/.venv/lib/python3.12/site-packages/keynote_parser/codec.py", line 43, in from_buffer
    chunk, data = IWACompressedChunk.from_buffer(data, filename)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/talley/dev/self/slydb/.venv/lib/python3.12/site-packages/keynote_parser/codec.py", line 107, in from_buffer
    archive, data = IWAArchiveSegment.from_buffer(data, filename)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/talley/dev/self/slydb/.venv/lib/python3.12/site-packages/keynote_parser/codec.py", line 197, in from_buffer
    raise NotImplementedError(
NotImplementedError: Don't know how to parse Protobuf message type 6383