Refactor filter checker.

This commit is contained in:
Alex Root Junior 2017-08-23 23:27:03 +03:00
parent 62417da6a7
commit e9a3ca6c8e

View file

@ -5,18 +5,13 @@ from ..utils.helper import Helper, HelperMode, Item
async def check_filter(filter_, args, kwargs): async def check_filter(filter_, args, kwargs):
# TODO: Refactor that shit. if not callable(filter_):
raise TypeError('Filter must be callable and/or awaitable!')
if any((inspect.isasyncgen(filter_), if inspect.isawaitable(filter_) or inspect.iscoroutinefunction(filter_):
inspect.iscoroutine(filter_),
inspect.isawaitable(filter_),
inspect.isasyncgenfunction(filter_),
inspect.iscoroutinefunction(filter_))):
return await filter_(*args, **kwargs) return await filter_(*args, **kwargs)
elif callable(filter_):
return filter_(*args, **kwargs)
else: else:
return True return filter_(*args, **kwargs)
async def check_filters(filters, args, kwargs): async def check_filters(filters, args, kwargs):