Added addition "find" methods to Database.py, along with a "get all" for user
settings to search without a nickname
This commit is contained in:
parent
7caf45e77e
commit
ffd41d0771
5 changed files with 44 additions and 7 deletions
34
Database.py
34
Database.py
|
@ -83,6 +83,8 @@ class Database(object):
|
|||
values[i] = value[0], json.loads(value[1])
|
||||
return values
|
||||
return default
|
||||
def find_bot_settings_prefix(self, prefix, default=[]):
|
||||
return self.find_bot_settings("%s%" % prefix, default)
|
||||
def del_bot_setting(self, setting):
|
||||
self.cursor().execute("""DELETE FROM bot_settings WHERE
|
||||
setting=?""", [setting.lower()])
|
||||
|
@ -109,6 +111,8 @@ class Database(object):
|
|||
values[i] = value[0], json.loads(value[1])
|
||||
return values
|
||||
return default
|
||||
def find_server_settings_prefix(self, server_id, prefix, default=[]):
|
||||
return self.find_server_settings(server_id, "%s%" % prefix, default)
|
||||
def del_server_setting(self, server_id, setting):
|
||||
self.cursor().execute("""DELETE FROM server_settings WHERE
|
||||
server_id=? AND setting=?""", [server_id, setting.lower()])
|
||||
|
@ -132,9 +136,13 @@ class Database(object):
|
|||
values = self.cursor().fetchall()
|
||||
if values:
|
||||
for i, value in enumerate(values):
|
||||
values[i] = json.loads(value)
|
||||
values[i] = value[0], json.loads(value[1])
|
||||
return values
|
||||
return default
|
||||
def find_channel_settings_prefix(self, server_id, channel, prefix,
|
||||
default=[]):
|
||||
return self.find_channel_settings(server_id, channel, "%s%" % prefix,
|
||||
default)
|
||||
def del_channel_setting(self, server_id, channel, setting):
|
||||
self.cursor().execute("""DELETE FROM channel_settings WHERE
|
||||
server_id=? AND channel=? AND setting=?""", [server_id,
|
||||
|
@ -152,16 +160,30 @@ class Database(object):
|
|||
if value:
|
||||
return json.loads(value[0])
|
||||
return default
|
||||
def find_user_settings(self, server_id, nickname, pattern, default=[]):
|
||||
self.cursor().execute("""SELECT setting, value FROM user_settings
|
||||
WHERE server_id=? AND nickname=? setting LIKE '?'""", [server_id,
|
||||
nickname.lower(), pattern.lower()])
|
||||
def get_all_user_settings(self, server_id, setting, default=[]):
|
||||
self.cursor().execute("""SELECT nickname, setting, value FROM
|
||||
user_settings WHERE server_id=? AND setting=?""",
|
||||
[server_id, setting])
|
||||
values = self.cursor().fetchall()
|
||||
if values:
|
||||
for i, value in enumerate(values):
|
||||
values[i] = json.loads(value)
|
||||
values[i] = value[0], value[1], json.loads(value[2])
|
||||
return values
|
||||
return default
|
||||
def find_user_settings(self, server_id, nickname, pattern, default=[]):
|
||||
self.cursor().execute("""SELECT setting, value FROM user_settings
|
||||
WHERE server_id=? AND nickname=? AND setting LIKE '?'""",
|
||||
[server_id, nickname.lower(), pattern.lower()])
|
||||
values = self.cursor().fetchall()
|
||||
if values:
|
||||
for i, value in enumerate(values):
|
||||
values[i] = value[0], json.loads(value[1])
|
||||
return values
|
||||
return default
|
||||
def find_user_settings_prefix(self, server_id, nickname, prefix,
|
||||
default=[]):
|
||||
return self.find_user_settings(server_id, nickname, "%s%" % prefix,
|
||||
default)
|
||||
def del_user_setting(self, server_id, nickname, setting):
|
||||
self.cursor().execute("""DELETE FROM user_settings WHERE
|
||||
server_id=? AND nickname=? AND setting=?""", [server_id,
|
||||
|
|
|
@ -105,6 +105,9 @@ class Bot(object):
|
|||
return self.database.get_bot_setting(setting, default)
|
||||
def find_settings(self, pattern, default=[]):
|
||||
return self.database.find_bot_settings(pattern, default)
|
||||
def find_settings_prefix(self, prefix, default=[]):
|
||||
return self.database.find_bot_settings_prefix(
|
||||
prefix, default)
|
||||
def del_setting(self, setting):
|
||||
self.database.del_bot_setting(setting)
|
||||
|
||||
|
|
|
@ -73,8 +73,11 @@ class Channel(object):
|
|||
return self.bot.database.get_channel_setting(
|
||||
self.server.id, self.name, setting, default)
|
||||
def find_settings(self, pattern, default=[]):
|
||||
return self.bot.database.find_channel_setting(
|
||||
return self.bot.database.find_channel_settings(
|
||||
self.server.id, self.name, pattern, default)
|
||||
def find_settings_prefix(self, prefix, default=[]):
|
||||
return self.bot.database.find_channel_settings_prefix(
|
||||
self.server.id, self.name, prefix, default)
|
||||
def del_setting(self, setting):
|
||||
self.bot.database.del_channel_setting(self.server.id,
|
||||
self.name, setting)
|
||||
|
|
|
@ -93,8 +93,14 @@ class Server(object):
|
|||
def find_settings(self, pattern, default=[]):
|
||||
return self.bot.database.find_server_settings(self.id,
|
||||
pattern, default)
|
||||
def find_settings_prefix(self, prefix, default=[]):
|
||||
return self.bot.database.find_server_settings_prefix(
|
||||
self.id, prefix, default)
|
||||
def del_setting(self, setting):
|
||||
self.bot.database.del_server_setting(self.id, setting)
|
||||
def get_all_user_settings(self, setting, default):
|
||||
return self.bot.database.get_all_user_settings(self.id, setting,
|
||||
default)
|
||||
|
||||
def set_own_nickname(self, nickname):
|
||||
self.nickname = nickname
|
||||
|
|
|
@ -29,6 +29,9 @@ class User(object):
|
|||
def find_settings(self, pattern, default=[]):
|
||||
return self.bot.database.find_user_settings(self.server.id,
|
||||
self.nickname, pattern, default)
|
||||
def find_settings_prefix(self, prefix, default=[]):
|
||||
return self.bot.database.find_user_settings_prefix(
|
||||
self.server.id, self.nickname, prefix, default)
|
||||
def del_setting(self, setting):
|
||||
self.bot.database.del_user_setting(self.server.id, self.nickname,
|
||||
setting)
|
||||
|
|
Loading…
Reference in a new issue