DSD-DBS / py-capellambse

A Python 3 headless implementation of the Capella modeling tool.
https://dsd-dbs.github.io/py-capellambse/
Apache License 2.0
53 stars 11 forks source link

Ignore unknown file types when loading a model #470

Closed Wuestengecko closed 3 weeks ago

Wuestengecko commented 3 weeks ago

When encountering a file with an unknown file name extension, we used to simply crash the program. Instead, we now still try to load the model, but print a warning about potentially missing content. This enables limited use of capellambse on models that use external extension data, such as the *.traceability files created by the Publication for Capella extension.

Note that even when simply loading such a model will succeed, some runtime data access may cause errors due to the missing extension data. To avoid creating bigger problems down the line, capellambse will refuse to save such a model without also passing the extra save() flag i_have_a_recent_backup=True, similar to the behavior when ignoring UUID duplication.