def load_all(cls): if cls.__plugins__ is not None: return cls.__plugins__ entry_points = [] # builtin plugins for _, m, _ in iter_modules(['squad/plugins']): e = EntryPoint(m, 'squad.plugins.' + m, attrs=('Plugin', )) entry_points.append(e) # external plugins plugins = iter_entry_points('squad_plugins') entry_points += list(plugins) cls.__plugins__ = {e.name: e.resolve() for e in entry_points} return cls.__plugins__
def load_all(cls): if cls.__plugins__ is not None: return cls.__plugins__ entry_points = [] # builtin plugins for _, m, _ in iter_modules(['squad/plugins']): e = EntryPoint(m, 'squad.plugins.' + m, attrs=('Plugin',)) entry_points.append(e) # external plugins plugins = iter_entry_points('squad_plugins') entry_points += list(plugins) cls.__plugins__ = {e.name: e.resolve() for e in entry_points} return cls.__plugins__