Improved module priority handling

This commit is contained in:
Sven Heidemann 2021-11-24 16:51:36 +01:00
parent f4c340796e
commit 2e24a3b1f2
2 changed files with 9 additions and 11 deletions

View File

@ -27,15 +27,10 @@ class BootLog(ModuleABC, OnReadyABC):
self._bot = bot
self._message_service = message_service
self._priorities = {
OnReadyABC: 10
}
ModuleABC.__init__(self)
self._priorities[OnReadyABC] = 10
self._logger.trace(__name__, f'Module {type(self)} loaded')
def get_priority(self, t: type) -> int:
return self._priorities[t]
async def on_ready(self):
self._logger.debug(__name__, f'Module {type(self)} started')
try:

View File

@ -5,7 +5,10 @@ import discord
class ModuleABC(ABC):
@abstractmethod
def __init__(self): pass
def __init__(self):
self._priorities = {}
@abstractmethod
def get_priority(self, t: type) -> int: pass
def get_priority(self, t: type) -> int:
if t not in self._priorities:
raise Exception(f'Priority for {t} not found!')
return self._priorities[t]