Clear plugin webapp routes in default stop()

This commit is contained in:
Tulir Asokan 2019-04-16 16:33:19 +03:00
parent 05acf08e5b
commit ec6578294f
2 changed files with 3 additions and 0 deletions

View File

@ -1,2 +1,3 @@
from .plugin_base import Plugin from .plugin_base import Plugin
from .plugin_server import PluginWebApp
from .matrix import MaubotMatrixClient as Client, MaubotMessageEvent as MessageEvent from .matrix import MaubotMatrixClient as Client, MaubotMessageEvent as MessageEvent

View File

@ -62,6 +62,8 @@ class Plugin(ABC):
async def stop(self) -> None: async def stop(self) -> None:
for func, event_type in self._handlers_at_startup: for func, event_type in self._handlers_at_startup:
self.client.remove_event_handler(event_type, func) self.client.remove_event_handler(event_type, func)
if self.webapp:
self.webapp.clear()
@classmethod @classmethod
def get_config_class(cls) -> Optional[Type['BaseProxyConfig']]: def get_config_class(cls) -> Optional[Type['BaseProxyConfig']]: