mirror of
https://github.com/evennia/evennia.git
synced 2026-03-27 02:06:32 +01:00
Resolve master merge conflicts
This commit is contained in:
commit
bcffd90cf5
3 changed files with 25 additions and 3 deletions
|
|
@ -21,7 +21,7 @@ from evennia.objects.models import ObjectDB
|
|||
from evennia.comms.models import ChannelDB
|
||||
from evennia.commands import cmdhandler
|
||||
from evennia.utils import logger
|
||||
from evennia.utils.utils import (lazy_property,
|
||||
from evennia.utils.utils import (lazy_property, to_str,
|
||||
make_iter, to_unicode, is_iter,
|
||||
variable_from_module)
|
||||
from evennia.typeclasses.attributes import NickHandler
|
||||
|
|
@ -421,6 +421,13 @@ class DefaultAccount(with_metaclass(TypeclassBase, AccountDB)):
|
|||
|
||||
kwargs["options"] = options
|
||||
|
||||
if text and not (isinstance(text, basestring) or isinstance(text, tuple)):
|
||||
# sanitize text before sending across the wire
|
||||
try:
|
||||
text = to_str(text, force_string=True)
|
||||
except Exception:
|
||||
text = repr(text)
|
||||
|
||||
# session relay
|
||||
sessions = make_iter(session) if session else self.sessions.all()
|
||||
for session in sessions:
|
||||
|
|
|
|||
|
|
@ -24,7 +24,8 @@ from evennia.commands import cmdhandler
|
|||
from evennia.utils import search
|
||||
from evennia.utils import logger
|
||||
from evennia.utils.utils import (variable_from_module, lazy_property,
|
||||
make_iter, to_unicode, is_iter, list_to_string)
|
||||
make_iter, to_unicode, is_iter, list_to_string,
|
||||
to_str)
|
||||
from django.utils.translation import ugettext as _
|
||||
|
||||
_INFLECT = inflect.engine()
|
||||
|
|
@ -561,11 +562,19 @@ class DefaultObject(with_metaclass(TypeclassBase, ObjectDB)):
|
|||
|
||||
kwargs["options"] = options
|
||||
|
||||
if text and not (isinstance(text, basestring) or isinstance(text, tuple)):
|
||||
# sanitize text before sending across the wire
|
||||
try:
|
||||
text = to_str(text, force_string=True)
|
||||
except Exception:
|
||||
text = repr(text)
|
||||
|
||||
# relay to session(s)
|
||||
sessions = make_iter(session) if session else self.sessions.all()
|
||||
for session in sessions:
|
||||
session.data_out(text=text, **kwargs)
|
||||
|
||||
|
||||
def for_contents(self, func, exclude=None, **kwargs):
|
||||
"""
|
||||
Runs a function on every object contained within this one.
|
||||
|
|
|
|||
|
|
@ -34,7 +34,13 @@ def _shared_login(request):
|
|||
if webclient_uid:
|
||||
# The webclient has previously registered a login to this browser_session
|
||||
if not account.is_authenticated() and not website_uid:
|
||||
account = AccountDB.objects.get(id=webclient_uid)
|
||||
try:
|
||||
account = AccountDB.objects.get(id=webclient_uid)
|
||||
except AccountDB.DoesNotExist:
|
||||
# this can happen e.g. for guest accounts or deletions
|
||||
csession["website_authenticated_uid"] = False
|
||||
csession["webclient_authenticated_uid"] = False
|
||||
return
|
||||
try:
|
||||
# calls our custom authenticate in web/utils/backends.py
|
||||
account = authenticate(autologin=account)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue