diff options
| author | 2018-10-12 17:54:15 +0100 | |
|---|---|---|
| committer | 2018-10-12 17:54:15 +0100 | |
| commit | cb94fa9ae45b521b3189a215532516ec5603a217 (patch) | |
| tree | 28b31d1ed26b29005be3b94ff5d498273a346b13 /src/ModuleManager.py | |
| parent | Use UTC in modules/coins.py (diff) | |
| signature | ||
Add TimersContext, to be able to purge timers when modules are unloaded
Diffstat (limited to 'src/ModuleManager.py')
| -rw-r--r-- | src/ModuleManager.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/ModuleManager.py b/src/ModuleManager.py index 0a9d0d67..6b097815 100644 --- a/src/ModuleManager.py +++ b/src/ModuleManager.py @@ -22,16 +22,18 @@ class ModuleNotLoadedWarning(ModuleWarning): pass class BaseModule(object): - def __init__(self, bot, events, exports): + def __init__(self, bot, events, exports, timers): self.bot = bot self.events = events self.exports = exports + self.timers = timers class ModuleManager(object): - def __init__(self, events, exports, config, log, directory): + def __init__(self, events, exports, timers, config, log, directory): self.events = events self.exports = exports self.config = config + self.timers = timers self.log = log self.directory = directory @@ -84,7 +86,9 @@ class ModuleManager(object): context = str(uuid.uuid4()) context_events = self.events.new_context(context) context_exports = self.exports.new_context(context) - module_object = module.Module(bot, context_events, context_exports) + context_timers = self.timers.new_context(context) + module_object = module.Module(bot, context_events, context_exports, + context_timers) if not hasattr(module_object, "_name"): module_object._name = name.title() @@ -144,6 +148,7 @@ class ModuleManager(object): context = module._context self.events.purge_context(context) self.exports.purge_context(context) + self.timers.purge_context(context) del sys.modules[self._import_name(name)] references = sys.getrefcount(module) |
