diff --git a/src/objects/manager.py b/src/objects/manager.py index 16dda2d62b..8da54273a0 100644 --- a/src/objects/manager.py +++ b/src/objects/manager.py @@ -273,6 +273,10 @@ class ObjectManager(TypedObjectManager): if dbref_match: return [dbref_match] + # Convenience check to make sure candidates are really dbobjs + if candidates: + candidates = [cand.dbobj for cand in make_iter(candidates) if hasattr(cand, "dbobj")] + # Search through all possibilities. match_number = None diff --git a/src/scripts/manager.py b/src/scripts/manager.py index b7922b6c25..1c4e0ae19c 100644 --- a/src/scripts/manager.py +++ b/src/scripts/manager.py @@ -202,6 +202,10 @@ class ScriptManager(TypedObjectManager): ok = False if ok: return [dbref_match] + if obj: + # convenience check to make sure obj is really a dbobj + obj = hasattr(obj, "dbobj") and obj.dbobj or obj + # not a dbref; normal search scripts = self.filter(db_key__iexact=ostring)