From 8785523c722bce550d3be7927fb5b37d07a54e2f Mon Sep 17 00:00:00 2001 From: Johnny Date: Wed, 4 Dec 2019 20:00:31 +0000 Subject: [PATCH] Adds try/catch block to allow method to fail open and log error. --- evennia/accounts/accounts.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/evennia/accounts/accounts.py b/evennia/accounts/accounts.py index 161073d86b..2a530fa93c 100644 --- a/evennia/accounts/accounts.py +++ b/evennia/accounts/accounts.py @@ -216,13 +216,16 @@ class DefaultAccount(AccountDB, metaclass=TypeclassBase): @property def characters(self): # Get playable characters list - objs = self.db._playable_characters - if not objs: objs = () + objs = self.db._playable_characters or [] # Rebuild the list if legacy code left null values after deletion - if None in objs: - objs = [x for x in self.db._playable_characters if x] - self.db._playable_characters = objs + try: + if None in objs: + objs = [x for x in self.db._playable_characters if x] + self.db._playable_characters = objs + except Exception as e: + logger.log_trace(e) + logger.log_err(e) return objs