diff options
| author | 2019-09-04 15:24:50 +0100 | |
|---|---|---|
| committer | 2019-09-04 15:24:50 +0100 | |
| commit | 473c2723e7e618ee7a3d6b10c089797b90aca08f (patch) | |
| tree | ec6887307f22352e806126d796fead78f0f3789d /src/IRCChannel.py | |
| parent | Switch more settings to FunctionSettings (diff) | |
| signature | ||
only cache get_setting value when it's not the default value
Diffstat (limited to 'src/IRCChannel.py')
| -rw-r--r-- | src/IRCChannel.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/IRCChannel.py b/src/IRCChannel.py index c7789478..86dd80ff 100644 --- a/src/IRCChannel.py +++ b/src/IRCChannel.py @@ -147,6 +147,7 @@ class Channel(IRCObject.Object): def set_setting(self, setting: str, value: typing.Any): self.bot.database.channel_settings.set(self.id, setting, value) + cache_key = self._setting_cache_key(setting) self._cache_setting(self._setting_cache_key(setting), value) def get_setting(self, setting: str, default: typing.Any=None ) -> typing.Any: @@ -154,10 +155,12 @@ class Channel(IRCObject.Object): if self.bot.cache.has_item(cache_key): return self.bot.cache.get(cache_key) - value = self.bot.database.channel_settings.get(self.id, setting, - default) - self._cache_setting(cache_key, value) - return value + value = self.bot.database.channel_settings.get(self.id, setting, None) + if value == None: + return default + else: + self._cache_setting(cache_key, value) + return value def find_settings(self, pattern: str, default: typing.Any=[] ) -> typing.List[typing.Any]: |
