Have is_ooc lockfunc return True if no session found. Resolve #3129
This commit is contained in:
parent
596a081a64
commit
7777ff71cc
2 changed files with 9 additions and 2 deletions
|
|
@ -4,6 +4,7 @@
|
||||||
|
|
||||||
- Feature: Add support for saving `deque` with `maxlen` to Attributes (before
|
- Feature: Add support for saving `deque` with `maxlen` to Attributes (before
|
||||||
`maxlen` was ignored).
|
`maxlen` was ignored).
|
||||||
|
- Fix: More unit tests for scripts (Storsorken)
|
||||||
|
|
||||||
## Evennia 1.2.1
|
## Evennia 1.2.1
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -511,7 +511,8 @@ def is_ooc(accessing_obj, accessed_obj, *args, **kwargs):
|
||||||
is_ooc()
|
is_ooc()
|
||||||
|
|
||||||
This is normally used to lock a Command, so it can be used
|
This is normally used to lock a Command, so it can be used
|
||||||
only when out of character.
|
only when out of character. When not logged in at all, this
|
||||||
|
function will still return True.
|
||||||
"""
|
"""
|
||||||
obj = accessed_obj.obj if hasattr(accessed_obj, "obj") else accessed_obj
|
obj = accessed_obj.obj if hasattr(accessed_obj, "obj") else accessed_obj
|
||||||
account = obj.account if hasattr(obj, "account") else obj
|
account = obj.account if hasattr(obj, "account") else obj
|
||||||
|
|
@ -520,9 +521,14 @@ def is_ooc(accessing_obj, accessed_obj, *args, **kwargs):
|
||||||
try:
|
try:
|
||||||
session = accessed_obj.session
|
session = accessed_obj.session
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
session = account.sessions.get()[0] # note-this doesn't work well
|
# note-this doesn't work well
|
||||||
# for high multisession mode. We may need
|
# for high multisession mode. We may need
|
||||||
# to change to sessiondb to resolve this
|
# to change to sessiondb to resolve this
|
||||||
|
sessions = session = account.sessions.get()
|
||||||
|
session = sessions[0] if sessions else None
|
||||||
|
if not session:
|
||||||
|
# this suggests we are not even logged in; treat as ooc.
|
||||||
|
return True
|
||||||
try:
|
try:
|
||||||
return not account.get_puppet(session)
|
return not account.get_puppet(session)
|
||||||
except TypeError:
|
except TypeError:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue