From 120e2811cc7915d8f786de69da3456d1b90f77fd Mon Sep 17 00:00:00 2001 From: ChrisLR Date: Tue, 31 Aug 2021 07:32:34 -0400 Subject: [PATCH] Catch base django ObjectDoesNotExist to fix issue with custom XYRoom typeclasses leaking the base exception when creating --- evennia/contrib/xyzgrid/xymap_legend.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/evennia/contrib/xyzgrid/xymap_legend.py b/evennia/contrib/xyzgrid/xymap_legend.py index 6cdac41190..264f9a4d48 100644 --- a/evennia/contrib/xyzgrid/xymap_legend.py +++ b/evennia/contrib/xyzgrid/xymap_legend.py @@ -18,8 +18,10 @@ except ImportError as err: import uuid from collections import defaultdict + +from django.core import exceptions as django_exceptions from evennia.prototypes import spawner -from evennia.utils.utils import make_iter + from .utils import MAPSCAN, REVERSE_DIRECTIONS, MapParserError, BIGVAL NodeTypeclass = None @@ -309,7 +311,7 @@ class MapNode: try: nodeobj = NodeTypeclass.objects.get_xyz(xyz=xyz) - except NodeTypeclass.DoesNotExist: + except django_exceptions.ObjectDoesNotExist: # create a new entity with proper coordinates etc tclass = self.prototype['typeclass'] tclass = (f' ({tclass})' @@ -433,7 +435,7 @@ class MapNode: try: nodeobj = NodeTypeclass.objects.get_xyz(xyz=xyz) - except NodeTypeclass.DoesNotExist: + except django_exceptions.ObjectDoesNotExist: # no object exists pass else: