From d9bdabf4c183dc9f93986395fb6e836da2a005d8 Mon Sep 17 00:00:00 2001 From: henddher Date: Sat, 1 Oct 2022 20:46:15 -0500 Subject: [PATCH] Skip global scripts that cannot be 'imported' successfully, and log_err about it. --- evennia/utils/containers.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/evennia/utils/containers.py b/evennia/utils/containers.py index ae3236a2b3..eb319f8160 100644 --- a/evennia/utils/containers.py +++ b/evennia/utils/containers.py @@ -202,14 +202,17 @@ class GlobalScriptContainer(Container): """ if self.typeclass_storage is None: self.typeclass_storage = {} - for key, data in self.loaded_data.items(): + for key, data in list(self.loaded_data.items()): try: typeclass = data.get("typeclass", settings.BASE_SCRIPT_TYPECLASS) self.typeclass_storage[key] = class_from_module(typeclass) except Exception: - logger.log_trace( - f"GlobalScriptContainer could not start import global script {key}." + logger.log_err( + f"GlobalScriptContainer could not start import global script {key}. " + "It will be removed (skipped)." ) + # Let's remove this key/value. We want to let other scripts load. + self.loaded_data.pop(key) def get(self, key, default=None): """