mirror of
https://github.com/evennia/evennia.git
synced 2026-03-16 21:06:30 +01:00
cmdhandler: Add Deferred understanding to _progressive_cmd_run
This commit is contained in:
parent
7681a96f75
commit
69fab51673
1 changed files with 4 additions and 1 deletions
|
|
@ -36,7 +36,7 @@ from traceback import format_exc
|
|||
from django.conf import settings
|
||||
from django.utils.translation import gettext as _
|
||||
from twisted.internet import reactor
|
||||
from twisted.internet.defer import inlineCallbacks
|
||||
from twisted.internet.defer import Deferred, inlineCallbacks
|
||||
from twisted.internet.task import deferLater
|
||||
|
||||
from evennia.commands.cmdset import CmdSet
|
||||
|
|
@ -251,6 +251,9 @@ def _progressive_cmd_run(cmd, generator, response=None):
|
|||
utils.delay(value, _progressive_cmd_run, cmd, generator)
|
||||
elif isinstance(value, str):
|
||||
_GET_INPUT(cmd.caller, value, _process_input, cmd=cmd, generator=generator)
|
||||
elif isinstance(value, Deferred):
|
||||
value.addCallback(lambda result: _progressive_cmd_run(cmd, generator, response=result))
|
||||
value.addErrback(lambda fail: generator.throw(fail.type, fail.value, fail.tb))
|
||||
else:
|
||||
raise ValueError("unknown type for a yielded value in command: {}".format(type(value)))
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue