From dc063b5954bbc2dc92fbb9f7aaf1e040ded968dc Mon Sep 17 00:00:00 2001 From: Swann Date: Mon, 21 Sep 2020 18:52:27 +0200 Subject: [PATCH] fix: handle `file not found` exception --- multi_user/bl_types/bl_file.py | 4 ++++ multi_user/operators.py | 8 ++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/multi_user/bl_types/bl_file.py b/multi_user/bl_types/bl_file.py index 6b07c43..f05ee18 100644 --- a/multi_user/bl_types/bl_file.py +++ b/multi_user/bl_types/bl_file.py @@ -63,6 +63,10 @@ class BlFile(ReplicatedDatablock): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.instance = kwargs.get('instance', None) + + if self.instance and not self.instance.exists(): + raise FileNotFoundError(self.instance) + self.preferences = utils.get_preferences() self.diff_method = DIFF_BINARY diff --git a/multi_user/operators.py b/multi_user/operators.py index 7353823..2cf41bc 100644 --- a/multi_user/operators.py +++ b/multi_user/operators.py @@ -139,11 +139,11 @@ class SessionStartOperator(bpy.types.Operator): runtime_settings.is_host = True runtime_settings.internet_ip = environment.get_ip() - - for scene in bpy.data.scenes: - client.add(scene) - + try: + for scene in bpy.data.scenes: + client.add(scene) + client.host( id=settings.username, port=settings.port,