diff options
| author | 2018-08-31 15:34:56 +0100 | |
|---|---|---|
| committer | 2018-08-31 15:34:56 +0100 | |
| commit | 525de94c02db1535ea21179fae09f3e3ba2d8f8b (patch) | |
| tree | 90aba9cd8e307445e17b3b8a39fcf43c7c436317 /Database.py | |
| parent | Turns out we didn't need find_all_by_setting (diff) | |
| signature | ||
Actually, we do need find_all_by_setting
Diffstat (limited to 'Database.py')
| -rw-r--r-- | Database.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/Database.py b/Database.py index 80444cef..a0aa3529 100644 --- a/Database.py +++ b/Database.py @@ -219,6 +219,20 @@ class UserChannelSettings(Table): values[i] = value[0], json.loads(value[1]) return values return default + def find_all_by_setting(self, server_id, setting, default=[]): + values = self.database.execute_fetchall( + """SELECT channels.name, users.nickname, + user_channel_settings.value FROM + user_channel_settings INNER JOIN channels ON + user_channel_settings.channel_id=channels.channel_id + INNER JOIN users on user_channel_setting.user_id=users.user_id + WHERE user_channel_settings.setting=? AND + users.server_id=?""", [setting, server_id]) + if values: + for i, value in enumerate(values): + values[i] = value[0], value[1], json.loads(value[2]) + return values + return default def delete(self, user_id, channel_id, setting): self.database.execute( """DELETE FROM user_channel_settings WHERE |
