Fixed some bugs in new oobhandler mechanism to make tests work again, but oobhandler is still not tested.
This commit is contained in:
parent
48774d0f3c
commit
07dd81851e
7 changed files with 7 additions and 26 deletions
|
|
@ -13,7 +13,6 @@ import twisted
|
|||
from time import time as timemeasure
|
||||
|
||||
from django.conf import settings
|
||||
#from evennia.server.caches import get_cache_sizes
|
||||
from evennia.server.sessionhandler import SESSIONS
|
||||
from evennia.scripts.models import ScriptDB
|
||||
from evennia.objects.models import ObjectDB
|
||||
|
|
|
|||
|
|
@ -23,10 +23,6 @@ from evennia.commands.default import help, general, system, admin, player, build
|
|||
from evennia.utils import ansi
|
||||
from evennia.server.sessionhandler import SESSIONS
|
||||
|
||||
from django.db.models.signals import post_save
|
||||
from evennia.server.caches import field_post_save
|
||||
post_save.connect(field_post_save, dispatch_uid="fieldcache")
|
||||
|
||||
# set up signal here since we are not starting the server
|
||||
|
||||
_RE = re.compile(r"^\+|-+\+|\+-+|--*|\|", re.MULTILINE)
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ from evennia.server.sessionhandler import SESSIONS
|
|||
from evennia.scripts.tickerhandler import TickerHandler
|
||||
from evennia.utils.dbserialize import dbserialize, dbunserialize, pack_dbobj, unpack_dbobj
|
||||
from evennia.utils import logger
|
||||
from evennia.utils.utils import make_iter
|
||||
from evennia.utils.utils import make_iter, mod_import
|
||||
|
||||
_SA = object.__setattr__
|
||||
_GA = object.__getattribute__
|
||||
|
|
@ -49,8 +49,8 @@ _DA = object.__delattr__
|
|||
|
||||
# load resources from plugin module
|
||||
_OOB_FUNCS = {}
|
||||
for mod in make_iter(settings.OOB_PLUGIN_MODULES):
|
||||
_OOB_FUNCS.update(mod.CMD_MAP)
|
||||
for modname in make_iter(settings.OOB_PLUGIN_MODULES):
|
||||
_OOB_FUNCS.update(mod_import(modname).CMD_MAP)
|
||||
|
||||
# get the command to receive eventual error strings
|
||||
_OOB_ERROR = _OOB_FUNCS.get("oob_error", None)
|
||||
|
|
|
|||
|
|
@ -32,19 +32,6 @@ from evennia.utils.utils import get_evennia_version, mod_import, make_iter
|
|||
from evennia.comms import channelhandler
|
||||
from evennia.server.sessionhandler import SESSIONS
|
||||
|
||||
# setting up server-side field cache
|
||||
|
||||
from django.db.models.signals import post_save
|
||||
from evennia.server.caches import field_post_save
|
||||
#pre_save.connect(field_pre_save, dispatch_uid="fieldcache")
|
||||
post_save.connect(field_post_save, dispatch_uid="fieldcache")
|
||||
|
||||
#from evennia.server.caches import post_attr_update
|
||||
#from django.db.models.signals import m2m_changed
|
||||
|
||||
# connect to attribute cache signal
|
||||
#m2m_changed.connect(post_attr_update, sender=TypedObject.db_attributes.through)
|
||||
|
||||
_SA = object.__setattr__
|
||||
|
||||
if os.name == 'nt':
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ except ImportError:
|
|||
import unittest
|
||||
|
||||
from django.conf import settings
|
||||
#from django.test.runner import DiscoverRunner
|
||||
from django.test.simple import DjangoTestSuiteRunner
|
||||
from evennia.utils.utils import mod_import
|
||||
|
||||
|
|
|
|||
|
|
@ -38,10 +38,7 @@ from evennia.typeclasses.tags import Tag, TagHandler, AliasHandler, PermissionHa
|
|||
|
||||
from evennia.utils.idmapper.models import SharedMemoryModel
|
||||
from evennia.utils.idmapper.base import SharedMemoryModelBase
|
||||
#from evennia.server.caches import set_attr_cache
|
||||
|
||||
#from evennia.server.caches import call_ndb_hooks
|
||||
#from evennia.server.models import ServerConfig
|
||||
from evennia.typeclasses import managers
|
||||
from evennia.locks.lockhandler import LockHandler
|
||||
from evennia.utils.utils import (
|
||||
|
|
|
|||
|
|
@ -334,9 +334,10 @@ class SharedMemoryModel(Model):
|
|||
callFromThread(_save_callback, self, *args, **kwargs)
|
||||
|
||||
# update field-update hooks and eventual OOB watchers
|
||||
if "update_fields" in kwargs:
|
||||
if "update_fields" in kwargs and kwargs["update_fields"]:
|
||||
# get field objects from their names
|
||||
update_fields = (self._meta.get_field_by_name(field)[0] for field in kwargs["update_fields"])
|
||||
update_fields = (self._meta.get_field_by_name(field)[0]
|
||||
for field in kwargs.get("update_fields"))
|
||||
else:
|
||||
# meta.fields are already field objects; get them all
|
||||
update_fields = self._meta.fields
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue