Merge branch 'develop' of github.com:evennia/evennia into develop

This commit is contained in:
Griatch 2022-01-19 22:08:56 +01:00
commit 5f7cbbcec0

View file

@ -158,8 +158,15 @@ class ScriptBase(ScriptDB, metaclass=TypeclassBase):
# TODO - restart anew ? # TODO - restart anew ?
return ret return ret
def _start_task(self, interval=None, start_delay=None, repeats=None, force_restart=False, def _start_task(
auto_unpause=False, **kwargs): self,
interval=None,
start_delay=None,
repeats=None,
force_restart=False,
auto_unpause=False,
**kwargs,
):
""" """
Start/Unpause task runner, optionally with new values. If given, this will Start/Unpause task runner, optionally with new values. If given, this will
update the Script's fields. update the Script's fields.
@ -228,9 +235,12 @@ class ScriptBase(ScriptDB, metaclass=TypeclassBase):
# we should have a fresh task after this point # we should have a fresh task after this point
self.ndb._task = ExtendedLoopingCall(self._step_task) self.ndb._task = ExtendedLoopingCall(self._step_task)
self._unpause_task(interval=interval, start_delay=start_delay, self._unpause_task(
auto_unpause=auto_unpause, interval=interval,
old_interval=old_interval) start_delay=start_delay,
auto_unpause=auto_unpause,
old_interval=old_interval,
)
if not self.ndb._task.running: if not self.ndb._task.running:
# if not unpausing started it, start script anew with the new values # if not unpausing started it, start script anew with the new values
@ -259,8 +269,9 @@ class ScriptBase(ScriptDB, metaclass=TypeclassBase):
self.at_pause(auto_pause=auto_pause, **kwargs) self.at_pause(auto_pause=auto_pause, **kwargs)
def _unpause_task(self, interval=None, start_delay=None, auto_unpause=False, def _unpause_task(
old_interval=0, **kwargs): self, interval=None, start_delay=None, auto_unpause=False, old_interval=0, **kwargs
):
""" """
Unpause task from paused status. This is used for auto-paused tasks, such Unpause task from paused status. This is used for auto-paused tasks, such
as tasks paused on a server reload. as tasks paused on a server reload.
@ -294,9 +305,9 @@ class ScriptBase(ScriptDB, metaclass=TypeclassBase):
self.ndb._task.start( self.ndb._task.start(
self.db_interval, now=False, start_delay=start_delay, count_start=callcount self.db_interval, now=False, start_delay=start_delay, count_start=callcount
) )
del self.db._paused_time self.db._paused_time = None
del self.db._paused_callcount self.db._paused_callcount = None
del self.db._manually_paused self.db._manually_paused = None
self.at_start(**kwargs) self.at_start(**kwargs)
@ -312,9 +323,9 @@ class ScriptBase(ScriptDB, metaclass=TypeclassBase):
self.db_is_active = False self.db_is_active = False
# make sure this is not confused as a paused script # make sure this is not confused as a paused script
del self.db._paused_time self.db._paused_time = None
del self.db._paused_callcount self.db._paused_callcount = None
del self.db._manually_paused self.db._manually_paused = None
self.save(update_fields=["db_is_active"]) self.save(update_fields=["db_is_active"])
self.at_stop(**kwargs) self.at_stop(**kwargs)
@ -327,7 +338,9 @@ class ScriptBase(ScriptDB, metaclass=TypeclassBase):
cname = self.__class__.__name__ cname = self.__class__.__name__
estring = _( estring = _(
"Script {key}(#{dbid}) of type '{name}': at_repeat() error '{err}'.".format( "Script {key}(#{dbid}) of type '{name}': at_repeat() error '{err}'.".format(
key=self.key, dbid=self.dbid, name=cname, err=e.getErrorMessage())) key=self.key, dbid=self.dbid, name=cname, err=e.getErrorMessage()
)
)
try: try:
self.db_obj.msg(estring) self.db_obj.msg(estring)
except Exception: except Exception:
@ -505,7 +518,6 @@ class ScriptBase(ScriptDB, metaclass=TypeclassBase):
def at_stop(self, **kwargs): def at_stop(self, **kwargs):
pass pass
def start(self, interval=None, start_delay=None, repeats=None, **kwargs): def start(self, interval=None, start_delay=None, repeats=None, **kwargs):
""" """
Start/Unpause timer component, optionally with new values. If given, Start/Unpause timer component, optionally with new values. If given,