mirror of
https://github.com/rbreu/beeref.git
synced 2026-03-11 08:54:28 +00:00
Handle unknown item types while loading bee files
Just in case we add new item types in future versions
This commit is contained in:
parent
53777bc346
commit
e35a6e5390
2 changed files with 16 additions and 1 deletions
|
|
@ -412,7 +412,13 @@ class BeeGraphicsScene(QtWidgets.QGraphicsScene):
|
|||
|
||||
while not self.items_to_add.empty():
|
||||
data, selected = self.items_to_add.get()
|
||||
cls = item_registry[data.pop('type')]
|
||||
typ = data.pop('type')
|
||||
cls = item_registry.get(typ)
|
||||
if not cls:
|
||||
# Just in case we add new item types in future versions
|
||||
logger.warning(f'Encountered item of unknown type: {typ}')
|
||||
cls = item_registry.get('text')
|
||||
data['data'] = {'text': f'Item of unknown type: {typ}'}
|
||||
item = cls.create_from_data(**data)
|
||||
item.update_from_data(**data)
|
||||
self.addItem(item)
|
||||
|
|
|
|||
|
|
@ -1056,3 +1056,12 @@ def test_add_queued_items_selected(view):
|
|||
def test_add_queued_items_when_no_items(view):
|
||||
view.scene.add_queued_items()
|
||||
assert view.scene.items() == []
|
||||
|
||||
|
||||
def test_add_queued_items_ignores_unknown_type(view):
|
||||
data = {'type': 'foo', 'z': 0.33, 'data': {'bar': 'baz'}}
|
||||
view.scene.add_item_later(data, selected=False)
|
||||
view.scene.add_queued_items()
|
||||
assert len(view.scene.items()) == 1
|
||||
item = view.scene.items()[0]
|
||||
assert item.toPlainText() == 'Item of unknown type: foo'
|
||||
|
|
|
|||
Loading…
Reference in a new issue