I use mgz as part of a website that analyses uploaded games. Last successful upload was 2024-03-13 17:39:26 UTC (in case they changed something on AoE2's side). I have attached the recording file. It can be played using CaptureAge so I an fairly sure the file is not corrupt.
test_recording.zip
Test script:
from mgz.summary import Summary
fpath = ".../test_recording.aoe2record"
with open(fpath, 'rb') as data:
s = Summary(data)
Traceback:
could not fast parse; falling back: could not parse:
Traceback (most recent call last):
File "/home/ubuntu/webapp_kerfuffle/py3env/lib/python3.8/site-packages/construct/core.py", line 2844, in _decode
return self.decoding[obj]
KeyError: 120
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/ubuntu/webapp_kerfuffle/py3env/lib/python3.8/site-packages/construct/core.py", line 2784, in _parse
return self.subcon._parse(stream, context, path)
File "/home/ubuntu/webapp_kerfuffle/py3env/lib/python3.8/site-packages/construct/core.py", line 867, in _parse
subobj = sc._parse(stream, context, path)
File "/home/ubuntu/webapp_kerfuffle/py3env/lib/python3.8/site-packages/construct/core.py", line 311, in _parse
return self._decode(self.subcon._parse(stream, context, path), context)
File "/home/ubuntu/webapp_kerfuffle/py3env/lib/python3.8/site-packages/construct/core.py", line 2849, in _decode
raise MappingError("no decoding mapping for %r" % (obj,))
construct.core.MappingError: no decoding mapping for 120
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/ubuntu/webapp_kerfuffle/py3env/lib/python3.8/site-packages/mgz/summary/full.py", line 75, in __init__
self._header = mgz.header.parse_stream(self._handle)
File "/home/ubuntu/webapp_kerfuffle/py3env/lib/python3.8/site-packages/construct/core.py", line 171, in parse_stream
return self._parse(stream, context2, "(parsing)")
File "/home/ubuntu/webapp_kerfuffle/py3env/lib/python3.8/site-packages/construct/core.py", line 867, in _parse
subobj = sc._parse(stream, context, path)
File "/home/ubuntu/webapp_kerfuffle/py3env/lib/python3.8/site-packages/construct/core.py", line 295, in _parse
return self.subcon._parse(stream, context, path)
File "/home/ubuntu/webapp_kerfuffle/py3env/lib/python3.8/site-packages/construct/core.py", line 867, in _parse
subobj = sc._parse(stream, context, path)
File "/home/ubuntu/webapp_kerfuffle/py3env/lib/python3.8/site-packages/construct/core.py", line 295, in _parse
return self.subcon._parse(stream, context, path)
File "/home/ubuntu/webapp_kerfuffle/py3env/lib/python3.8/site-packages/mgz/util.py", line 58, in _parse
return self.subcon._parse(new_stream, context, path)
File "/home/ubuntu/webapp_kerfuffle/py3env/lib/python3.8/site-packages/construct/core.py", line 357, in _parse
return self.subcon.parse(data, context)
File "/home/ubuntu/webapp_kerfuffle/py3env/lib/python3.8/site-packages/construct/core.py", line 158, in parse
return self.parse_stream(BytesIO(data), context, **kw)
File "/home/ubuntu/webapp_kerfuffle/py3env/lib/python3.8/site-packages/construct/core.py", line 171, in parse_stream
return self._parse(stream, context2, "(parsing)")
File "/home/ubuntu/webapp_kerfuffle/py3env/lib/python3.8/site-packages/construct/core.py", line 867, in _parse
subobj = sc._parse(stream, context, path)
File "/home/ubuntu/webapp_kerfuffle/py3env/lib/python3.8/site-packages/construct/core.py", line 2784, in _parse
return self.subcon._parse(stream, context, path)
File "/home/ubuntu/webapp_kerfuffle/py3env/lib/python3.8/site-packages/construct/core.py", line 1594, in _parse
obj = self.cases.get(key, self.default)._parse(stream, context, path)
File "/home/ubuntu/webapp_kerfuffle/py3env/lib/python3.8/site-packages/construct/core.py", line 2788, in _parse
raise e.__class__("%s\n %s" % (e, path))
construct.core.MappingError: no decoding mapping for 120
(parsing) -> de -> de
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/ubuntu/webapp_kerfuffle/scribbles/recordings/rec_analysis.py", line 5, in <module>
s = Summary(data)
File "/home/ubuntu/webapp_kerfuffle/py3env/lib/python3.8/site-packages/mgz/summary/__init__.py", line 27, in __call__
return FullSummary(data)
File "/home/ubuntu/webapp_kerfuffle/py3env/lib/python3.8/site-packages/mgz/summary/full.py", line 87, in __init__
raise RuntimeError("invalid mgz file: {}".format(e))
RuntimeError: invalid mgz file: no decoding mapping for 120
(parsing) -> de -> de
I use mgz as part of a website that analyses uploaded games. Last successful upload was 2024-03-13 17:39:26 UTC (in case they changed something on AoE2's side). I have attached the recording file. It can be played using CaptureAge so I an fairly sure the file is not corrupt. test_recording.zip
Test script:
Traceback: