mirror of
https://github.com/evennia/evennia.git
synced 2026-03-16 21:06:30 +01:00
Raise clearer error on circular call of GLOBAL_SCRIPTS. Resolve #2983.
This commit is contained in:
parent
d8924837f9
commit
c62bda9d77
1 changed files with 7 additions and 1 deletions
|
|
@ -15,7 +15,6 @@ from pickle import dumps
|
|||
|
||||
from django.conf import settings
|
||||
from django.db.utils import OperationalError, ProgrammingError
|
||||
|
||||
from evennia.utils import logger
|
||||
from evennia.utils.utils import callables_from_module, class_from_module
|
||||
|
||||
|
|
@ -226,6 +225,13 @@ class GlobalScriptContainer(Container):
|
|||
res = self._get_scripts(key)
|
||||
if not res:
|
||||
if key in self.loaded_data:
|
||||
if key not in self.typeclass_storage:
|
||||
# this means we are trying to load in a loop
|
||||
raise RuntimeError(
|
||||
f"Trying to access `GLOBAL_SCRIPTS.{key}` before scripts have finished "
|
||||
"initializing. This can happen if accessing GLOBAL_SCRIPTS from the same "
|
||||
"module the script is defined in."
|
||||
)
|
||||
# recreate if we have the info
|
||||
return self._load_script(key) or default
|
||||
return default
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue