KenjieDec's picture
3faa99b
raw
history blame
693 Bytes
from importlib import import_module
from inspect import isclass
from pathlib import Path
from pkgutil import iter_modules
from .base import BaseSession
sessions_class = []
sessions_names = []
package_dir = Path(__file__).resolve().parent
for _b, module_name, _p in iter_modules([str(package_dir)]):
module = import_module(f"{__name__}.{module_name}")
for attribute_name in dir(module):
attribute = getattr(module, attribute_name)
if (
isclass(attribute)
and issubclass(attribute, BaseSession)
and attribute != BaseSession
):
sessions_class.append(attribute)
sessions_names.append(attribute.name())