Changed importing of SESSION_HANDLER to avoid circular imports when extending Portal or Server SessionHandler.
This commit is contained in:
parent
3d3bd5e9d7
commit
53d963e14c
25 changed files with 118 additions and 152 deletions
|
|
@ -22,7 +22,7 @@ import time
|
|||
from codecs import lookup as codecs_lookup
|
||||
|
||||
from django.conf import settings
|
||||
from evennia.server.sessionhandler import SESSIONS
|
||||
import evennia
|
||||
from evennia.utils import create, logger, search, utils
|
||||
|
||||
COMMAND_DEFAULT_CLASS = utils.class_from_module(settings.COMMAND_DEFAULT_CLASS)
|
||||
|
|
@ -495,9 +495,8 @@ class CmdWho(COMMAND_DEFAULT_CLASS):
|
|||
"""
|
||||
Get all connected accounts by polling session.
|
||||
"""
|
||||
|
||||
account = self.account
|
||||
session_list = SESSIONS.get_sessions()
|
||||
session_list = evennia.SESSION_HANDLER.get_sessions()
|
||||
|
||||
session_list = sorted(session_list, key=lambda o: o.account.key)
|
||||
|
||||
|
|
@ -508,7 +507,7 @@ class CmdWho(COMMAND_DEFAULT_CLASS):
|
|||
"Admins"
|
||||
)
|
||||
|
||||
naccounts = SESSIONS.account_count()
|
||||
naccounts = evennia.SESSION_HANDLER.account_count()
|
||||
if show_session_data:
|
||||
# privileged info
|
||||
table = self.styled_table(
|
||||
|
|
|
|||
|
|
@ -10,7 +10,8 @@ import time
|
|||
from django.conf import settings
|
||||
|
||||
from evennia.server.models import ServerConfig
|
||||
from evennia.server.sessionhandler import SESSIONS
|
||||
|
||||
import evennia
|
||||
from evennia.utils import class_from_module, evtable, logger, search
|
||||
|
||||
COMMAND_DEFAULT_CLASS = class_from_module(settings.COMMAND_DEFAULT_CLASS)
|
||||
|
|
@ -68,7 +69,7 @@ class CmdBoot(COMMAND_DEFAULT_CLASS):
|
|||
|
||||
if "sid" in self.switches:
|
||||
# Boot a particular session id.
|
||||
sessions = SESSIONS.get_sessions(True)
|
||||
sessions = evennia.SESSION_HANDLER.get_sessions(True)
|
||||
for sess in sessions:
|
||||
# Find the session with the matching session id.
|
||||
if sess.sessid == int(args):
|
||||
|
|
@ -85,7 +86,7 @@ class CmdBoot(COMMAND_DEFAULT_CLASS):
|
|||
caller.msg(f"You don't have the permission to boot {pobj.key}.")
|
||||
return
|
||||
# we have a bootable object with a connected user
|
||||
matches = SESSIONS.sessions_from_account(pobj)
|
||||
matches = evennia.SESSION_HANDLER.sessions_from_account(pobj)
|
||||
for match in matches:
|
||||
boot_list.append(match)
|
||||
|
||||
|
|
@ -564,7 +565,7 @@ class CmdWall(COMMAND_DEFAULT_CLASS):
|
|||
return
|
||||
message = f'{self.caller.name} shouts "{self.args}"'
|
||||
self.msg("Announcing to all connected sessions ...")
|
||||
SESSIONS.announce_all(message)
|
||||
evennia.SESSION_HANDLER.announce_all(message)
|
||||
|
||||
|
||||
class CmdForce(COMMAND_DEFAULT_CLASS):
|
||||
|
|
|
|||
|
|
@ -16,9 +16,9 @@ import django
|
|||
import twisted
|
||||
from django.conf import settings
|
||||
|
||||
import evennia
|
||||
from evennia.accounts.models import AccountDB
|
||||
from evennia.scripts.taskhandler import TaskHandlerTask
|
||||
from evennia.server.sessionhandler import SESSIONS
|
||||
from evennia.utils import gametime, logger, search, utils
|
||||
from evennia.utils.eveditor import EvEditor
|
||||
from evennia.utils.evmenu import ask_yes_no
|
||||
|
|
@ -74,8 +74,8 @@ class CmdReload(COMMAND_DEFAULT_CLASS):
|
|||
if self.args:
|
||||
reason = "(Reason: %s) " % self.args.rstrip(".")
|
||||
if _BROADCAST_SERVER_RESTART_MESSAGES:
|
||||
SESSIONS.announce_all(f" Server restart initiated {reason}...")
|
||||
SESSIONS.portal_restart_server()
|
||||
evennia.SESSION_HANDLER.announce_all(f" Server restart initiated {reason}...")
|
||||
evennia.SESSION_HANDLER.portal_restart_server()
|
||||
|
||||
|
||||
class CmdReset(COMMAND_DEFAULT_CLASS):
|
||||
|
|
@ -108,8 +108,8 @@ class CmdReset(COMMAND_DEFAULT_CLASS):
|
|||
"""
|
||||
Reload the system.
|
||||
"""
|
||||
SESSIONS.announce_all(" Server resetting/restarting ...")
|
||||
SESSIONS.portal_reset_server()
|
||||
evennia.SESSION_HANDLER.announce_all(" Server resetting/restarting ...")
|
||||
evennia.SESSION_HANDLER.portal_reset_server()
|
||||
|
||||
|
||||
class CmdShutdown(COMMAND_DEFAULT_CLASS):
|
||||
|
|
@ -137,8 +137,8 @@ class CmdShutdown(COMMAND_DEFAULT_CLASS):
|
|||
if self.args:
|
||||
announcement += "%s\n" % self.args
|
||||
logger.log_info(f"Server shutdown by {self.caller.name}.")
|
||||
SESSIONS.announce_all(announcement)
|
||||
SESSIONS.portal_shutdown()
|
||||
evennia.SESSION_HANDLER.announce_all(announcement)
|
||||
evennia.SESSION_HANDLER.portal_shutdown()
|
||||
|
||||
|
||||
def _py_load(caller):
|
||||
|
|
@ -562,7 +562,7 @@ class CmdService(COMMAND_DEFAULT_CLASS):
|
|||
return
|
||||
|
||||
# get all services
|
||||
service_collection = SESSIONS.server.services
|
||||
service_collection = evennia.SESSION_HANDLER.server.services
|
||||
|
||||
if not switches or switches[0] == "list":
|
||||
# Just display the list of installed services and their
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ from unittest.mock import MagicMock, Mock, patch
|
|||
from anything import Anything
|
||||
from django.conf import settings
|
||||
from django.test import override_settings
|
||||
import evennia
|
||||
from evennia import (
|
||||
DefaultCharacter,
|
||||
DefaultExit,
|
||||
|
|
@ -34,7 +35,6 @@ from evennia.commands.default import syscommands, system, unloggedin
|
|||
from evennia.commands.default.cmdset_character import CharacterCmdSet
|
||||
from evennia.commands.default.muxcommand import MuxCommand
|
||||
from evennia.prototypes import prototypes as protlib
|
||||
from evennia.server.sessionhandler import SESSIONS
|
||||
from evennia.utils import create, gametime, utils
|
||||
from evennia.utils.test_resources import BaseEvenniaCommandTest # noqa
|
||||
from evennia.utils.test_resources import BaseEvenniaTest, EvenniaCommandTest
|
||||
|
|
@ -2113,7 +2113,7 @@ class TestUnconnectedCommand(BaseEvenniaCommandTest):
|
|||
% (
|
||||
settings.SERVERNAME,
|
||||
datetime.datetime.fromtimestamp(gametime.SERVER_START_TIME).ctime(),
|
||||
SESSIONS.account_count(),
|
||||
evennia.SESSION_HANDLER.account_count(),
|
||||
utils.get_evennia_version(),
|
||||
)
|
||||
)
|
||||
|
|
|
|||
|
|
@ -8,9 +8,9 @@ from codecs import lookup as codecs_lookup
|
|||
|
||||
from django.conf import settings
|
||||
|
||||
import evennia
|
||||
from evennia.commands.cmdhandler import CMD_LOGINSTART
|
||||
from evennia.comms.models import ChannelDB
|
||||
from evennia.server.sessionhandler import SESSIONS
|
||||
from evennia.utils import class_from_module, create, gametime, logger, utils
|
||||
|
||||
COMMAND_DEFAULT_CLASS = utils.class_from_module(settings.COMMAND_DEFAULT_CLASS)
|
||||
|
|
@ -462,7 +462,7 @@ class CmdUnconnectedInfo(COMMAND_DEFAULT_CLASS):
|
|||
% (
|
||||
settings.SERVERNAME,
|
||||
datetime.datetime.fromtimestamp(gametime.SERVER_START_TIME).ctime(),
|
||||
SESSIONS.account_count(),
|
||||
evennia.SESSION_HANDLER.account_count(),
|
||||
utils.get_evennia_version(),
|
||||
)
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue