diff options
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 |
