Make @py output appear for all sessions in MULTISESSION_MODE=1

Resolves #1356.
This commit is contained in:
Griatch 2017-10-12 18:00:39 +02:00
parent 4d6464cf89
commit 9f7fb2734c
3 changed files with 14 additions and 12 deletions

View file

@ -75,7 +75,7 @@ class CmdHelp(Command):
pass pass
if usemore: if usemore:
evmore.msg(self.caller, text) evmore.msg(self.caller, text, session=self.session)
return return
self.msg((text, {"type": "help"})) self.msg((text, {"type": "help"}))

View file

@ -161,7 +161,7 @@ def _run_code_snippet(caller, pycode, mode="eval", measure_time=False,
# Try to retrieve the session # Try to retrieve the session
session = caller session = caller
if hasattr(caller, "sessions"): if hasattr(caller, "sessions"):
session = caller.sessions.get()[0] sessions = caller.sessions.all()
# import useful variables # import useful variables
import evennia import evennia
@ -175,11 +175,12 @@ def _run_code_snippet(caller, pycode, mode="eval", measure_time=False,
} }
if show_input: if show_input:
try: for session in sessions:
caller.msg(">>> %s" % pycode, session=session, try:
options={"raw": True}) caller.msg(">>> %s" % pycode, session=session,
except TypeError: options={"raw": True})
caller.msg(">>> %s" % pycode, options={"raw": True}) except TypeError:
caller.msg(">>> %s" % pycode, options={"raw": True})
try: try:
try: try:
@ -206,10 +207,11 @@ def _run_code_snippet(caller, pycode, mode="eval", measure_time=False,
errlist = errlist[4:] errlist = errlist[4:]
ret = "\n".join("%s" % line for line in errlist if line) ret = "\n".join("%s" % line for line in errlist if line)
try: for session in sessions:
caller.msg(ret, session=session, options={"raw": True}) try:
except TypeError: caller.msg(ret, session=session, options={"raw": True})
caller.msg(ret, options={"raw": True}) except TypeError:
caller.msg(ret, options={"raw": True})
class CmdPy(COMMAND_DEFAULT_CLASS): class CmdPy(COMMAND_DEFAULT_CLASS):

View file

@ -192,7 +192,7 @@ class EvMore(object):
if self._npages <= 1 and not always_page: if self._npages <= 1 and not always_page:
# no need for paging; just pass-through. # no need for paging; just pass-through.
caller.msg(text=text, **kwargs) caller.msg(text=text, session=self._session, **kwargs)
else: else:
# go into paging mode # go into paging mode
# first pass on the msg kwargs # first pass on the msg kwargs