mirror of
https://github.com/aiogram/aiogram.git
synced 2025-12-12 18:19:34 +00:00
Add docstrings in middlewares module.
This commit is contained in:
parent
0295aed615
commit
115f1fe032
1 changed files with 37 additions and 1 deletions
|
|
@ -5,7 +5,16 @@ log = logging.getLogger('aiogram.Middleware')
|
||||||
|
|
||||||
|
|
||||||
class MiddlewareManager:
|
class MiddlewareManager:
|
||||||
|
"""
|
||||||
|
Middlewares manager. Works only with dispatcher.
|
||||||
|
"""
|
||||||
|
|
||||||
def __init__(self, dispatcher):
|
def __init__(self, dispatcher):
|
||||||
|
"""
|
||||||
|
Init
|
||||||
|
|
||||||
|
:param dispatcher: instance of Dispatcher
|
||||||
|
"""
|
||||||
self.dispatcher = dispatcher
|
self.dispatcher = dispatcher
|
||||||
self.loop = dispatcher.loop
|
self.loop = dispatcher.loop
|
||||||
self.bot = dispatcher.bot
|
self.bot = dispatcher.bot
|
||||||
|
|
@ -40,24 +49,51 @@ class MiddlewareManager:
|
||||||
|
|
||||||
|
|
||||||
class BaseMiddleware:
|
class BaseMiddleware:
|
||||||
|
"""
|
||||||
|
Base class for middleware.
|
||||||
|
|
||||||
|
All methods on the middle always must be coroutines and name starts with "on_" like "on_process_message".
|
||||||
|
"""
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self._configured = False
|
self._configured = False
|
||||||
self._manager = None
|
self._manager = None
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def manager(self) -> MiddlewareManager:
|
def manager(self) -> MiddlewareManager:
|
||||||
|
"""
|
||||||
|
Instance of MiddlewareManager
|
||||||
|
"""
|
||||||
if self._manager is None:
|
if self._manager is None:
|
||||||
raise RuntimeError('Middleware is not configured!')
|
raise RuntimeError('Middleware is not configured!')
|
||||||
return self._manager
|
return self._manager
|
||||||
|
|
||||||
def setup(self, manager):
|
def setup(self, manager):
|
||||||
|
"""
|
||||||
|
Mark middleware as configured
|
||||||
|
|
||||||
|
:param manager:
|
||||||
|
:return:
|
||||||
|
"""
|
||||||
self._manager = manager
|
self._manager = manager
|
||||||
self._configured = True
|
self._configured = True
|
||||||
|
|
||||||
def is_configured(self):
|
def is_configured(self) -> bool:
|
||||||
|
"""
|
||||||
|
Check middleware is configured
|
||||||
|
|
||||||
|
:return:
|
||||||
|
"""
|
||||||
return self._configured
|
return self._configured
|
||||||
|
|
||||||
async def trigger(self, action, args):
|
async def trigger(self, action, args):
|
||||||
|
"""
|
||||||
|
Trigger action.
|
||||||
|
|
||||||
|
:param action:
|
||||||
|
:param args:
|
||||||
|
:return:
|
||||||
|
"""
|
||||||
handler_name = f"on_{action}"
|
handler_name = f"on_{action}"
|
||||||
handler = getattr(self, handler_name, None)
|
handler = getattr(self, handler_name, None)
|
||||||
if not handler:
|
if not handler:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue