You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
15 lines
417 B
15 lines
417 B
import inspect
|
|
import importlib
|
|
|
|
from .base import BaseProvider
|
|
|
|
|
|
def load_provider(name):
|
|
try:
|
|
mod = importlib.import_module('disco.bot.providers.' + name)
|
|
except ImportError:
|
|
mod = importlib.import_module(name)
|
|
|
|
for entry in filter(inspect.isclass, map(lambda i: getattr(mod, i), dir(mod))):
|
|
if issubclass(entry, BaseProvider) and entry != BaseProvider:
|
|
return entry
|
|
|