mirror of
https://github.com/chatmail/core.git
synced 2026-04-06 07:32:12 +03:00
add after_shutdown hook
This commit is contained in:
@@ -522,6 +522,7 @@ class Account(object):
|
||||
deltachat.clear_context_callback(self._dc_context)
|
||||
del self._dc_context
|
||||
atexit.unregister(self.shutdown)
|
||||
self._pm.hook.after_shutdown()
|
||||
|
||||
def set_location(self, latitude=0.0, longitude=0.0, accuracy=0.0):
|
||||
"""set a new location. It effects all chats where we currently
|
||||
|
||||
@@ -31,6 +31,10 @@ class PerAccount:
|
||||
def log_line(self, message):
|
||||
""" log a message related to the account. """
|
||||
|
||||
@account_hookspec
|
||||
def after_shutdown(self):
|
||||
""" Called when the account has been shutdown. """
|
||||
|
||||
@account_hookspec
|
||||
def configure_completed(self, success):
|
||||
""" Called when a configure process completed. """
|
||||
|
||||
@@ -38,6 +38,8 @@ class ConfigureFailed(RuntimeError):
|
||||
|
||||
|
||||
class ConfigureTracker:
|
||||
ConfigureFailed = ConfigureFailed
|
||||
|
||||
def __init__(self):
|
||||
self._configure_events = Queue()
|
||||
self._smtp_finished = Event()
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
from __future__ import print_function
|
||||
from deltachat import capi, cutil, const, set_context_callback, clear_context_callback
|
||||
from deltachat.hookspec import account_hookimpl
|
||||
from deltachat.capi import ffi
|
||||
from deltachat.capi import lib
|
||||
|
||||
@@ -18,7 +19,18 @@ def test_callback_None2int():
|
||||
|
||||
def test_dc_close_events(tmpdir, acfactory):
|
||||
ac1 = acfactory.get_unconfigured_account()
|
||||
|
||||
# register after_shutdown function
|
||||
l = []
|
||||
class ShutdownPlugin:
|
||||
@account_hookimpl
|
||||
def after_shutdown(self):
|
||||
assert not hasattr(ac1, "_dc_context")
|
||||
l.append(1)
|
||||
ac1.add_account_plugin(ShutdownPlugin())
|
||||
assert hasattr(ac1, "_dc_context")
|
||||
ac1.shutdown()
|
||||
assert l == [1]
|
||||
|
||||
def find(info_string):
|
||||
evlog = ac1._evtracker
|
||||
|
||||
Reference in New Issue
Block a user