Update CHANGELOG, some refining of docs

This commit is contained in:
Griatch 2023-12-10 19:59:24 +01:00
parent e544b50866
commit c37dde248e
8 changed files with 59 additions and 34 deletions

View file

@ -38,6 +38,10 @@
tools `evennia.utils.match_ip` and `utils.ip_from_request` to help. (Volund) tools `evennia.utils.match_ip` and `utils.ip_from_request` to help. (Volund)
- [Feature][pull3349]: Refactored almost all default commands to use - [Feature][pull3349]: Refactored almost all default commands to use
`Command.msg` over the `command.caller.msg` direct call (more flexible) (Volund) `Command.msg` over the `command.caller.msg` direct call (more flexible) (Volund)
- [Feature][pull3346]: Refactor cmdhandler to be more extensible; make cmd merge
a bit more deterministic (Volund)
- [Feature][pull3348]: Make Fallback AJAX web client more customizable (same as
the websocket client) (Volund)
- Fix (Backwards incompatible): Change `settings._TEST_ENVIRONMENT` to - Fix (Backwards incompatible): Change `settings._TEST_ENVIRONMENT` to
`settings.TEST_ENVIRONMENT` to address issues during refactored startup sequence. `settings.TEST_ENVIRONMENT` to address issues during refactored startup sequence.
- [Fix][pull3197]: Make sure Global scripts only start in one place, - [Fix][pull3197]: Make sure Global scripts only start in one place,
@ -56,7 +60,12 @@
(jaborsh) (jaborsh)
- [fix][issue3331]: Made XYZGrid query zcoords in a case-insensitive manner. - [fix][issue3331]: Made XYZGrid query zcoords in a case-insensitive manner.
- [Fix][pull3322]: Fix `BaseOption.display` to always return a string. - [Fix][pull3322]: Fix `BaseOption.display` to always return a string.
- Docs: Lots of Typo and other fixes (iLPdev, InspectorCaracal, jaborsh) - [Fix][pull3358]: Fix so Portal resets `server_restart_mode` flag when having
successfully reconnected to the Server after a restart. (InspectorCaracal)
- [Fix][pull3359]: Fix gendersub contrib to use proper pronoun when referencing
other objects than oneself (InspectorCaracal)
- Docs & docstrings: Lots of Typo and other fixes (iLPdev, InspectorCaracal, jaborsh,
HouseOfPoe etc)
- Beginner tutorial: Cleanup and starting earlier with explaining how to add to - Beginner tutorial: Cleanup and starting earlier with explaining how to add to
the default cmdsets. the default cmdsets.
@ -81,6 +90,10 @@
[pull3344]: https://github.com/evennia/evennia/pull/3344 [pull3344]: https://github.com/evennia/evennia/pull/3344
[pull3349]: https://github.com/evennia/evennia/pull/3349 [pull3349]: https://github.com/evennia/evennia/pull/3349
[pull3350]: https://github.com/evennia/evennia/pull/3350 [pull3350]: https://github.com/evennia/evennia/pull/3350
[pull3346]: https://github.com/evennia/evennia/pull/3346
[pull3348]: https://github.com/evennia/evennia/pull/3348
[pull3358]: https://github.com/evennia/evennia/pull/3358
[pull3359]: https://github.com/evennia/evennia/pull/3359
[issue3272]: https://github.com/evennia/evennia/issues/3272 [issue3272]: https://github.com/evennia/evennia/issues/3272
[issue3273]: https://github.com/evennia/evennia/issues/3273 [issue3273]: https://github.com/evennia/evennia/issues/3273
[issue3308]: https://github.com/evennia/evennia/issues/3307 [issue3308]: https://github.com/evennia/evennia/issues/3307

View file

@ -38,6 +38,10 @@
tools `evennia.utils.match_ip` and `utils.ip_from_request` to help. (Volund) tools `evennia.utils.match_ip` and `utils.ip_from_request` to help. (Volund)
- [Feature][pull3349]: Refactored almost all default commands to use - [Feature][pull3349]: Refactored almost all default commands to use
`Command.msg` over the `command.caller.msg` direct call (more flexible) (Volund) `Command.msg` over the `command.caller.msg` direct call (more flexible) (Volund)
- [Feature][pull3346]: Refactor cmdhandler to be more extensible; make cmd merge
a bit more deterministic (Volund)
- [Feature][pull3348]: Make Fallback AJAX web client more customizable (same as
the websocket client) (Volund)
- Fix (Backwards incompatible): Change `settings._TEST_ENVIRONMENT` to - Fix (Backwards incompatible): Change `settings._TEST_ENVIRONMENT` to
`settings.TEST_ENVIRONMENT` to address issues during refactored startup sequence. `settings.TEST_ENVIRONMENT` to address issues during refactored startup sequence.
- [Fix][pull3197]: Make sure Global scripts only start in one place, - [Fix][pull3197]: Make sure Global scripts only start in one place,
@ -56,7 +60,12 @@
(jaborsh) (jaborsh)
- [fix][issue3331]: Made XYZGrid query zcoords in a case-insensitive manner. - [fix][issue3331]: Made XYZGrid query zcoords in a case-insensitive manner.
- [Fix][pull3322]: Fix `BaseOption.display` to always return a string. - [Fix][pull3322]: Fix `BaseOption.display` to always return a string.
- Docs: Lots of Typo and other fixes (iLPdev, InspectorCaracal, jaborsh) - [Fix][pull3358]: Fix so Portal resets `server_restart_mode` flag when having
successfully reconnected to the Server after a restart. (InspectorCaracal)
- [Fix][pull3359]: Fix gendersub contrib to use proper pronoun when referencing
other objects than oneself (InspectorCaracal)
- Docs & docstrings: Lots of Typo and other fixes (iLPdev, InspectorCaracal, jaborsh,
HouseOfPoe etc)
- Beginner tutorial: Cleanup and starting earlier with explaining how to add to - Beginner tutorial: Cleanup and starting earlier with explaining how to add to
the default cmdsets. the default cmdsets.
@ -81,6 +90,10 @@
[pull3344]: https://github.com/evennia/evennia/pull/3344 [pull3344]: https://github.com/evennia/evennia/pull/3344
[pull3349]: https://github.com/evennia/evennia/pull/3349 [pull3349]: https://github.com/evennia/evennia/pull/3349
[pull3350]: https://github.com/evennia/evennia/pull/3350 [pull3350]: https://github.com/evennia/evennia/pull/3350
[pull3346]: https://github.com/evennia/evennia/pull/3346
[pull3348]: https://github.com/evennia/evennia/pull/3348
[pull3358]: https://github.com/evennia/evennia/pull/3358
[pull3359]: https://github.com/evennia/evennia/pull/3359
[issue3272]: https://github.com/evennia/evennia/issues/3272 [issue3272]: https://github.com/evennia/evennia/issues/3272
[issue3273]: https://github.com/evennia/evennia/issues/3273 [issue3273]: https://github.com/evennia/evennia/issues/3273
[issue3308]: https://github.com/evennia/evennia/issues/3307 [issue3308]: https://github.com/evennia/evennia/issues/3307

View file

@ -1196,6 +1196,16 @@ SSL_PROTOCOL_CLASS = "evennia.server.portal.ssl.SSLProtocol"
# for all webclient connections. # for all webclient connections.
WEBSOCKET_PROTOCOL_CLASS = "evennia.server.portal.webclient.WebSocketClient" WEBSOCKET_PROTOCOL_CLASS = "evennia.server.portal.webclient.WebSocketClient"
# Ajax Web Client classes. Evennia uses AJAX as a fallback for the webclient by
# default. AJAX may in general be more useful for mobile clients as it's
# resilient to IP address changes.
# The Ajax Client Class is used to manage all AJAX sessions.
AJAX_CLIENT_CLASS = "evennia.server.portal.webclient.ajax.AjaxWebClient"
# Ajax Protocol Class is used for all AJAX client connections.
AJAX_PROTOCOL_CLASS = "evennia.server.portal.webclient_ajax.AjaxWebClientSession"
# Protocol for the SSH interface. This inherits from BASE_SESSION_CLASS. # Protocol for the SSH interface. This inherits from BASE_SESSION_CLASS.
SSH_PROTOCOL_CLASS = "evennia.server.portal.ssh.SshProtocol" SSH_PROTOCOL_CLASS = "evennia.server.portal.ssh.SshProtocol"

View file

@ -15,14 +15,13 @@ import time
import typing import typing
from random import getrandbits from random import getrandbits
import evennia
from django.conf import settings from django.conf import settings
from django.contrib.auth import authenticate, password_validation from django.contrib.auth import authenticate, password_validation
from django.core.exceptions import ImproperlyConfigured, ValidationError from django.core.exceptions import ImproperlyConfigured, ValidationError
from django.utils import timezone from django.utils import timezone
from django.utils.module_loading import import_string from django.utils.module_loading import import_string
from django.utils.translation import gettext as _ from django.utils.translation import gettext as _
import evennia
from evennia.accounts.manager import AccountManager from evennia.accounts.manager import AccountManager
from evennia.accounts.models import AccountDB from evennia.accounts.models import AccountDB
from evennia.commands.cmdsethandler import CmdSetHandler from evennia.commands.cmdsethandler import CmdSetHandler
@ -41,13 +40,7 @@ from evennia.typeclasses.attributes import ModelAttributeBackend, NickHandler
from evennia.typeclasses.models import TypeclassBase from evennia.typeclasses.models import TypeclassBase
from evennia.utils import class_from_module, create, logger from evennia.utils import class_from_module, create, logger
from evennia.utils.optionhandler import OptionHandler from evennia.utils.optionhandler import OptionHandler
from evennia.utils.utils import ( from evennia.utils.utils import is_iter, lazy_property, make_iter, to_str, variable_from_module
is_iter,
lazy_property,
make_iter,
to_str,
variable_from_module,
)
__all__ = ("DefaultAccount", "DefaultGuest") __all__ = ("DefaultAccount", "DefaultGuest")
@ -916,8 +909,8 @@ class DefaultAccount(AccountDB, metaclass=TypeclassBase):
self.db._last_puppet = character self.db._last_puppet = character
character.locks.add( character.locks.add(
f"puppet:id({character.id}) or pid({self.id}) or perm(Developer) or pperm(Developer);delete:id({self.id}) or" f"puppet:id({character.id}) or pid({self.id}) or perm(Developer) or"
" perm(Admin)" f" pperm(Developer);delete:id({self.id}) or perm(Admin)"
) )
logger.log_sec( logger.log_sec(
@ -1540,8 +1533,8 @@ class DefaultAccount(AccountDB, metaclass=TypeclassBase):
have no cmdsets. have no cmdsets.
Keyword Args: Keyword Args:
caller (obj): The object requesting the cmdsets. caller (Object, Account or Session): The object requesting the cmdsets.
current (cmdset): The current merged cmdset. current (CmdSet): The current merged cmdset.
force_init (bool): If `True`, force a re-build of the cmdset. (seems unused) force_init (bool): If `True`, force a re-build of the cmdset. (seems unused)
**kwargs: Arbitrary input for overloads. **kwargs: Arbitrary input for overloads.

View file

@ -1623,8 +1623,8 @@ class DefaultObject(ObjectDB, metaclass=TypeclassBase):
have no cmdsets. have no cmdsets.
Keyword Args: Keyword Args:
caller (obj): The object requesting the cmdsets. caller (Object, Account or Session): The object requesting the cmdsets.
current (cmdset): The current merged cmdset. current (CmdSet): The current merged cmdset.
force_init (bool): If `True`, force a re-build of the cmdset. (seems unused) force_init (bool): If `True`, force a re-build of the cmdset. (seems unused)
**kwargs: Arbitrary input for overloads. **kwargs: Arbitrary input for overloads.
@ -3166,8 +3166,10 @@ class DefaultExit(DefaultObject):
has no cmdsets. has no cmdsets.
Keyword Args: Keyword Args:
force_init (bool): If `True`, force a re-build of the cmdset caller (Object, Account or Session): The object requesting the cmdsets.
(for example to update aliases). current (CmdSet): The current merged cmdset.
force_init (bool): If `True`, force a re-build of the cmdset
(for example to update aliases).
""" """

View file

@ -10,15 +10,10 @@ import time
from django.conf import settings from django.conf import settings
from django.utils import timezone from django.utils import timezone
from evennia.commands.cmdsethandler import CmdSetHandler from evennia.commands.cmdsethandler import CmdSetHandler
from evennia.comms.models import ChannelDB from evennia.comms.models import ChannelDB
from evennia.scripts.monitorhandler import MONITOR_HANDLER from evennia.scripts.monitorhandler import MONITOR_HANDLER
from evennia.typeclasses.attributes import ( from evennia.typeclasses.attributes import AttributeHandler, DbHolder, InMemoryAttributeBackend
AttributeHandler,
DbHolder,
InMemoryAttributeBackend,
)
from evennia.utils import logger from evennia.utils import logger
from evennia.utils.utils import class_from_module, lazy_property, make_iter from evennia.utils.utils import class_from_module, lazy_property, make_iter
@ -408,8 +403,8 @@ class ServerSession(_BASE_SESSION_CLASS):
have no cmdsets. have no cmdsets.
Keyword Args: Keyword Args:
caller (obj): The object requesting the cmdsets. caller (Object, Account or Session): The object requesting the cmdsets.
current (cmdset): The current merged cmdset. current (CmdSet): The current merged cmdset.
force_init (bool): If `True`, force a re-build of the cmdset. (seems unused) force_init (bool): If `True`, force a re-build of the cmdset. (seems unused)
**kwargs: Arbitrary input for overloads. **kwargs: Arbitrary input for overloads.

View file

@ -1182,10 +1182,10 @@ WEBSOCKET_PROTOCOL_CLASS = "evennia.server.portal.webclient.WebSocketClient"
# resilient to IP address changes. # resilient to IP address changes.
# The Ajax Client Class is used to manage all AJAX sessions. # The Ajax Client Class is used to manage all AJAX sessions.
AJAX_CLIENT_CLASS = "evennia.server.webclient.ajax.AjaxWebClient" AJAX_CLIENT_CLASS = "evennia.server.portal.webclient.ajax.AjaxWebClient"
# Ajax Protocol Class is used for all AJAX client connections. # Ajax Protocol Class is used for all AJAX client connections.
AJAX_PROTOCOL_CLASS = "evennia.server.webclient_ajax.AjaxWebClientSession" AJAX_PROTOCOL_CLASS = "evennia.server.portal.webclient_ajax.AjaxWebClientSession"
# Protocol for the SSH interface. This inherits from BASE_SESSION_CLASS. # Protocol for the SSH interface. This inherits from BASE_SESSION_CLASS.
SSH_PROTOCOL_CLASS = "evennia.server.portal.ssh.SshProtocol" SSH_PROTOCOL_CLASS = "evennia.server.portal.ssh.SshProtocol"

View file

@ -36,12 +36,11 @@ the `caller.msg()` construct every time the page is updated.
---- ----
""" """
import evennia
from django.conf import settings from django.conf import settings
from django.core.paginator import Paginator from django.core.paginator import Paginator
from django.db.models.query import QuerySet from django.db.models.query import QuerySet
from django.utils.translation import gettext as _ from django.utils.translation import gettext as _
import evennia
from evennia.commands import cmdhandler from evennia.commands import cmdhandler
from evennia.commands.cmdset import CmdSet from evennia.commands.cmdset import CmdSet
from evennia.commands.command import Command from evennia.commands.command import Command
@ -194,9 +193,9 @@ class EvMore(object):
the evmore commands will be available when this is run). the evmore commands will be available when this is run).
kwargs (any, optional): These will be passed on to the `caller.msg` method. Notably, kwargs (any, optional): These will be passed on to the `caller.msg` method. Notably,
one can pass additional outputfuncs this way. There is one special kwarg: one can pass additional outputfuncs this way. There is one special kwarg:
- text_kwargs - extra kwargs to pass with the text outputfunc, e.g. - `text_kwargs` - extra kwargs to pass with the text outputfunc, e.g.
`text_kwargs={"type": "help"} would result to each page being sent `text_kwargs={"type": "help"}` would result to each page being sent
to `msg` as `text=(pagetxt, {"type": "help"})`. to `msg` as `text=(pagetxt, {"type": "help"})`.
Examples: Examples: