OOB passing data client->server. A few more default commands are needed.
This commit is contained in:
parent
96c6ad4aff
commit
16bbe009c3
6 changed files with 103 additions and 48 deletions
|
|
@ -20,6 +20,7 @@ from src.server.session import Session
|
|||
IDLE_COMMAND = settings.IDLE_COMMAND
|
||||
_GA = object.__getattribute__
|
||||
_ObjectDB = None
|
||||
_OOB_HANDLER = None
|
||||
|
||||
# load optional out-of-band function module
|
||||
OOB_PLUGIN_MODULE = settings.OOB_PLUGIN_MODULE
|
||||
|
|
@ -178,8 +179,13 @@ class ServerSession(Session):
|
|||
cmdhandler.cmdhandler(self, text, callertype="session", sessid=self.sessid)
|
||||
self.update_session_counters()
|
||||
if "oob" in kwargs:
|
||||
# relay to OOB handler
|
||||
pass
|
||||
# handle oob instructions
|
||||
global _OOB_HANDLER
|
||||
if not _OOB_HANDLER:
|
||||
from src.servever.oobhandler import OOB_HANDLER as _OOB_HANDLER
|
||||
oobstruct = self.sessionhandler.oobstruct_parser(kwargs.pop("oob", None))
|
||||
for (funcname, args, kwargs) in oobstruct:
|
||||
_OOBHANDLER.execute_cmd(funcname, *args, **kwargs)
|
||||
|
||||
execute_cmd = data_in # alias
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue