mirror of
https://github.com/evennia/evennia.git
synced 2026-03-16 21:06:30 +01:00
Merge 69fab51673 into 3761a7cb21
This commit is contained in:
commit
99621eda62
2 changed files with 10 additions and 7 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)))
|
||||
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@ import re
|
|||
from codecs import lookup as codecs_lookup
|
||||
|
||||
from django.conf import settings
|
||||
from twisted.internet import threads
|
||||
|
||||
import evennia
|
||||
from evennia.commands.cmdhandler import CMD_LOGINSTART
|
||||
from evennia.comms.models import ChannelDB
|
||||
from evennia.utils import class_from_module, create, gametime, logger, utils
|
||||
from evennia.utils import class_from_module, gametime, utils
|
||||
|
||||
COMMAND_DEFAULT_CLASS = utils.class_from_module(settings.COMMAND_DEFAULT_CLASS)
|
||||
|
||||
|
|
@ -146,8 +146,8 @@ class CmdUnconnectedConnect(COMMAND_DEFAULT_CLASS):
|
|||
Account = class_from_module(settings.BASE_ACCOUNT_TYPECLASS)
|
||||
|
||||
name, password = parts
|
||||
account, errors = Account.authenticate(
|
||||
username=name, password=password, ip=address, session=session
|
||||
account, errors = yield threads.deferToThread(
|
||||
Account.authenticate, username=name, password=password, ip=address, session=session
|
||||
)
|
||||
if account:
|
||||
session.sessionhandler.login(session, account)
|
||||
|
|
@ -227,8 +227,8 @@ class CmdUnconnectedCreate(COMMAND_DEFAULT_CLASS):
|
|||
return
|
||||
|
||||
# everything's ok. Create the new player account.
|
||||
account, errors = Account.create(
|
||||
username=username, password=password, ip=address, session=session
|
||||
account, errors = yield threads.deferToThread(
|
||||
Account.create, username=username, password=password, ip=address, session=session
|
||||
)
|
||||
if account:
|
||||
# tell the caller everything went well.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue