mirror of
https://github.com/aiogram/aiogram.git
synced 2026-04-08 16:37:47 +00:00
static type checking
This commit is contained in:
parent
ed49164328
commit
74574b4b5f
1 changed files with 4 additions and 2 deletions
|
|
@ -1,19 +1,21 @@
|
|||
|
||||
from aiogram.dispatcher.router import Router
|
||||
from itertools import chain
|
||||
from typing import List
|
||||
from typing import List, cast
|
||||
from aiogram.dispatcher.dispatcher import Dispatcher
|
||||
|
||||
AIOGRAM_INTERNAL_HANDLERS = ['update', 'error', ]
|
||||
|
||||
|
||||
def get_handlers_in_use(dispatcher: Dispatcher, handlers_to_skip: List[str] = AIOGRAM_INTERNAL_HANDLERS) -> List[str]:
|
||||
handlers_in_use = []
|
||||
handlers_in_use: List[str] = []
|
||||
|
||||
for router in [dispatcher.sub_routers, dispatcher]:
|
||||
if (isinstance(router, list)):
|
||||
if (router):
|
||||
handlers_in_use.extend(chain(*list(map(get_handlers_in_use, router))))
|
||||
else:
|
||||
router = cast(Router, router)
|
||||
for update_name, observer in router.observers.items():
|
||||
if (observer.handlers and update_name not in [*handlers_to_skip, *handlers_in_use]):
|
||||
handlers_in_use.append(update_name)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue