Some Live shapes don't have CenterX / CenterY, exception raised
e.g. 9. dalekohlad.ai
. Occurs 31 times in the donated files
Traceback:
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "/home/jonathan/source/extension-ai/inkai/__main__.py", line 40, in <module>
main()
File "/home/jonathan/source/extension-ai/inkai/cmd.py", line 82, in main
AIInput().run(output=stdout)
File "/home/jonathan/.cache/pypoetry/virtualenvs/inkai-7U14oSAt-py3.12/lib/python3.12/site-packages/inkex/base.py", line 251, in run
self.load_raw()
File "/home/jonathan/.cache/pypoetry/virtualenvs/inkai-7U14oSAt-py3.12/lib/python3.12/site-packages/inkex/base.py", line 265, in load_raw
document = self.load(self.file_io)
^^^^^^^^^^^^^^^^^^^^^^^
File "/home/jonathan/source/extension-ai/inkai/cmd.py", line 58, in load
return self.parse_ai_data(parsed)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/jonathan/source/extension-ai/inkai/cmd.py", line 62, in parse_ai_data
svg: inkex.SvgDocumentElement = ai2svg(parsed)
^^^^^^^^^^^^^^
File "/home/jonathan/source/extension-ai/inkai/svg/convert.py", line 20, in ai2svg
cm.interpret(section)
File "/home/jonathan/source/extension-ai/inkai/svg/icontextmanager.py", line 55, in interpret
self.execute(o)
File "/home/jonathan/source/extension-ai/inkai/svg/icontextmanager.py", line 63, in execute
self.func_mapping[dec(op.start)](op)
File "/home/jonathan/source/extension-ai/inkai/svg/contextmanager.py", line 115, in start_layer
self.interpret(child)
File "/home/jonathan/source/extension-ai/inkai/svg/icontextmanager.py", line 55, in interpret
self.execute(o)
File "/home/jonathan/source/extension-ai/inkai/svg/icontextmanager.py", line 59, in execute
self.func_mapping[type(op)](op)
File "/home/jonathan/source/extension-ai/inkai/svg/contextmanager.py", line 279, in entry_art_dictionary
success = self.lscm.convert_live_shape(ls)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/jonathan/source/extension-ai/inkai/svg/live_shape/lscontext.py", line 60, in convert_live_shape
result = func(type(params))
^^^^^^^^^^^^^^^^^^
File "/home/jonathan/source/extension-ai/inkai/svg/live_shape/lscontext.py", line 79, in create_rectangle
return self.create_regular_rectangle(rect)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/jonathan/source/extension-ai/inkai/svg/live_shape/lscontext.py", line 105, in create_regular_rectangle
self._set_rect_attributes(result, rect)
File "/home/jonathan/source/extension-ai/inkai/svg/live_shape/lscontext.py", line 90, in _set_rect_attributes
rect.center.x - rect.width / 2, rect.center.y - rect.height / 2
^^^^^^^^^^^
File "/home/jonathan/source/extension-ai/inkai/svg/live_shape/types.py", line 121, in center
self.params[f"{self.prefix}::CenterX"],
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
KeyError: 'ai::Rectangle::CenterX'