Update __init__.py
This commit is contained in:
parent
88b053daf4
commit
c839ed2336
1 changed files with 5 additions and 0 deletions
|
@ -112,10 +112,14 @@ class ModulesManager:
|
||||||
elif isinstance(meta, ScheduleMeta):
|
elif isinstance(meta, ScheduleMeta):
|
||||||
cls.modules[bind_prefix].schedule_list.add(meta)
|
cls.modules[bind_prefix].schedule_list.add(meta)
|
||||||
|
|
||||||
|
_return_cache = {}
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def return_modules_list(cls, targetFrom: str = None) -> \
|
def return_modules_list(cls, targetFrom: str = None) -> \
|
||||||
Dict[str, Module]:
|
Dict[str, Module]:
|
||||||
if targetFrom is not None:
|
if targetFrom is not None:
|
||||||
|
if targetFrom in cls._return_cache:
|
||||||
|
return cls._return_cache[targetFrom]
|
||||||
returns = {}
|
returns = {}
|
||||||
for m in cls.modules:
|
for m in cls.modules:
|
||||||
if isinstance(cls.modules[m], Module):
|
if isinstance(cls.modules[m], Module):
|
||||||
|
@ -124,6 +128,7 @@ class ModulesManager:
|
||||||
available = cls.modules[m].available_for
|
available = cls.modules[m].available_for
|
||||||
if targetFrom in available or '*' in available:
|
if targetFrom in available or '*' in available:
|
||||||
returns.update({m: cls.modules[m]})
|
returns.update({m: cls.modules[m]})
|
||||||
|
cls._return_cache.update({targetFrom: returns})
|
||||||
return returns
|
return returns
|
||||||
return cls.modules
|
return cls.modules
|
||||||
|
|
||||||
|
|
Reference in a new issue