mirror of
https://github.com/chatmail/core.git
synced 2026-05-04 13:56:30 +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)
|
deltachat.clear_context_callback(self._dc_context)
|
||||||
del self._dc_context
|
del self._dc_context
|
||||||
atexit.unregister(self.shutdown)
|
atexit.unregister(self.shutdown)
|
||||||
|
self._pm.hook.after_shutdown()
|
||||||
|
|
||||||
def set_location(self, latitude=0.0, longitude=0.0, accuracy=0.0):
|
def set_location(self, latitude=0.0, longitude=0.0, accuracy=0.0):
|
||||||
"""set a new location. It effects all chats where we currently
|
"""set a new location. It effects all chats where we currently
|
||||||
|
|||||||
@@ -31,6 +31,10 @@ class PerAccount:
|
|||||||
def log_line(self, message):
|
def log_line(self, message):
|
||||||
""" log a message related to the account. """
|
""" log a message related to the account. """
|
||||||
|
|
||||||
|
@account_hookspec
|
||||||
|
def after_shutdown(self):
|
||||||
|
""" Called when the account has been shutdown. """
|
||||||
|
|
||||||
@account_hookspec
|
@account_hookspec
|
||||||
def configure_completed(self, success):
|
def configure_completed(self, success):
|
||||||
""" Called when a configure process completed. """
|
""" Called when a configure process completed. """
|
||||||
|
|||||||
@@ -38,6 +38,8 @@ class ConfigureFailed(RuntimeError):
|
|||||||
|
|
||||||
|
|
||||||
class ConfigureTracker:
|
class ConfigureTracker:
|
||||||
|
ConfigureFailed = ConfigureFailed
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self._configure_events = Queue()
|
self._configure_events = Queue()
|
||||||
self._smtp_finished = Event()
|
self._smtp_finished = Event()
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
from __future__ import print_function
|
from __future__ import print_function
|
||||||
from deltachat import capi, cutil, const, set_context_callback, clear_context_callback
|
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 ffi
|
||||||
from deltachat.capi import lib
|
from deltachat.capi import lib
|
||||||
|
|
||||||
@@ -18,7 +19,18 @@ def test_callback_None2int():
|
|||||||
|
|
||||||
def test_dc_close_events(tmpdir, acfactory):
|
def test_dc_close_events(tmpdir, acfactory):
|
||||||
ac1 = acfactory.get_unconfigured_account()
|
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()
|
ac1.shutdown()
|
||||||
|
assert l == [1]
|
||||||
|
|
||||||
def find(info_string):
|
def find(info_string):
|
||||||
evlog = ac1._evtracker
|
evlog = ac1._evtracker
|
||||||
|
|||||||
Reference in New Issue
Block a user