From 1c5e3e82128bc2e00c1209e4917a195b2028bc34 Mon Sep 17 00:00:00 2001 From: deathbybandaid Date: Thu, 30 May 2019 10:14:55 -0400 Subject: [PATCH] spicebot database is seperate from bot database --- sopel_modules/SpiceBot/Database.py | 75 ++++++++++++++++++------------ 1 file changed, 45 insertions(+), 30 deletions(-) diff --git a/sopel_modules/SpiceBot/Database.py b/sopel_modules/SpiceBot/Database.py index 9852882..9be78d3 100644 --- a/sopel_modules/SpiceBot/Database.py +++ b/sopel_modules/SpiceBot/Database.py @@ -25,9 +25,9 @@ class NickValues(BASE): """ NickValues SQLAlchemy Class """ - __tablename__ = 'nick_values' + __tablename__ = 'spice_nick_values' nick_id = Column(Integer, ForeignKey('nick_ids.nick_id'), primary_key=True) - # category = Column(String(255), primary_key=True) + category = Column(String(255), primary_key=True) key = Column(String(255), primary_key=True) value = Column(String(255)) @@ -36,9 +36,9 @@ class ChannelValues(BASE): """ ChannelValues SQLAlchemy Class """ - __tablename__ = 'channel_values' + __tablename__ = 'spice_channel_values' channel = Column(String(255), primary_key=True) - # category = Column(String(255), primary_key=True) + category = Column(String(255), primary_key=True) key = Column(String(255), primary_key=True) value = Column(String(255)) @@ -47,9 +47,9 @@ class PluginValues(BASE): """ PluginValues SQLAlchemy Class """ - __tablename__ = 'plugin_values' + __tablename__ = 'spice_plugin_values' plugin = Column(String(255), primary_key=True) - # category = Column(String(255), primary_key=True) + category = Column(String(255), primary_key=True) key = Column(String(255), primary_key=True) value = Column(String(255)) @@ -58,7 +58,7 @@ class SpiceDB(object): # NICK FUNCTIONS - def set_nick_value(self, nick, key, value): + def set_nick_value(self, nick, key, value, category='default'): """Sets the value for a given key to be associated with the nick.""" nick = Identifier(nick) value = json.dumps(value, ensure_ascii=False) @@ -67,6 +67,7 @@ class SpiceDB(object): try: result = session.query(NickValues) \ .filter(NickValues.nick_id == nick_id) \ + .filter(NickValues.category == category)\ .filter(NickValues.key == key) \ .one_or_none() # NickValue exists, update @@ -75,7 +76,7 @@ class SpiceDB(object): session.commit() # DNE - Insert else: - new_nickvalue = NickValues(nick_id=nick_id, key=key, value=value) + new_nickvalue = NickValues(nick_id=nick_id, category=category, key=key, value=value) session.add(new_nickvalue) session.commit() except SQLAlchemyError: @@ -84,7 +85,7 @@ class SpiceDB(object): finally: session.close() - def get_nick_value(self, nick, key): + def get_nick_value(self, nick, key, category='default'): """Retrieves the value for a given key associated with a nick.""" nick = Identifier(nick) session = self.ssession() @@ -92,6 +93,7 @@ class SpiceDB(object): result = session.query(NickValues) \ .filter(Nicknames.nick_id == NickValues.nick_id) \ .filter(Nicknames.slug == nick.lower()) \ + .filter(NickValues.category == category)\ .filter(NickValues.key == key) \ .one_or_none() if result is not None: @@ -103,7 +105,7 @@ class SpiceDB(object): finally: session.close() - def delete_nick_value(self, nick, key): + def delete_nick_value(self, nick, key, category='default'): """Deletes the value for a given key to be associated with the nick.""" nick = Identifier(nick) nick_id = self.get_nick_id(nick) @@ -111,6 +113,7 @@ class SpiceDB(object): try: result = session.query(NickValues) \ .filter(NickValues.nick_id == nick_id) \ + .filter(NickValues.category == category)\ .filter(NickValues.key == key) \ .one_or_none() # NickValue exists, delete @@ -123,7 +126,7 @@ class SpiceDB(object): finally: session.close() - def adjust_nick_value(self, nick, key, value): + def adjust_nick_value(self, nick, key, value, category='default'): """Sets the value for a given key to be associated with the nick.""" nick = Identifier(nick) value = json.dumps(value, ensure_ascii=False) @@ -132,6 +135,7 @@ class SpiceDB(object): try: result = session.query(NickValues) \ .filter(NickValues.nick_id == nick_id) \ + .filter(NickValues.category == category)\ .filter(NickValues.key == key) \ .one_or_none() # NickValue exists, update @@ -140,7 +144,7 @@ class SpiceDB(object): session.commit() # DNE - Insert else: - new_nickvalue = NickValues(nick_id=nick_id, key=key, value=float(value)) + new_nickvalue = NickValues(nick_id=nick_id, category=category, key=key, value=float(value)) session.add(new_nickvalue) session.commit() except SQLAlchemyError: @@ -149,7 +153,7 @@ class SpiceDB(object): finally: session.close() - def adjust_nick_list(self, nick, key, entries, adjustmentdirection): + def adjust_nick_list(self, nick, key, entries, adjustmentdirection, category='default'): """Sets the value for a given key to be associated with the nick.""" nick = Identifier(nick) if not isinstance(entries, list): @@ -160,6 +164,7 @@ class SpiceDB(object): try: result = session.query(NickValues) \ .filter(NickValues.nick_id == nick_id) \ + .filter(NickValues.category == category)\ .filter(NickValues.key == key) \ .one_or_none() # NickValue exists, update @@ -184,7 +189,7 @@ class SpiceDB(object): for entry in entries: while entry in values: values.remove(entry) - new_nickvalue = NickValues(nick_id=nick_id, key=key, value=values) + new_nickvalue = NickValues(nick_id=nick_id, category=category, key=key, value=values) session.add(new_nickvalue) session.commit() except SQLAlchemyError: @@ -195,7 +200,7 @@ class SpiceDB(object): # CHANNEL FUNCTIONS - def set_channel_value(self, channel, key, value): + def set_channel_value(self, channel, key, value, category='default'): """Sets the value for a given key to be associated with the channel.""" channel = Identifier(channel).lower() value = json.dumps(value, ensure_ascii=False) @@ -203,6 +208,7 @@ class SpiceDB(object): try: result = session.query(ChannelValues) \ .filter(ChannelValues.channel == channel)\ + .filter(ChannelValues.category == category)\ .filter(ChannelValues.key == key) \ .one_or_none() # ChannelValue exists, update @@ -211,7 +217,7 @@ class SpiceDB(object): session.commit() # DNE - Insert else: - new_channelvalue = ChannelValues(channel=channel, key=key, value=value) + new_channelvalue = ChannelValues(channel=channel, category=category, key=key, value=value) session.add(new_channelvalue) session.commit() except SQLAlchemyError: @@ -220,13 +226,14 @@ class SpiceDB(object): finally: session.close() - def get_channel_value(self, channel, key): + def get_channel_value(self, channel, key, category='default'): """Retrieves the value for a given key associated with a channel.""" channel = Identifier(channel).lower() session = self.ssession() try: result = session.query(ChannelValues) \ .filter(ChannelValues.channel == channel)\ + .filter(ChannelValues.category == category)\ .filter(ChannelValues.key == key) \ .one_or_none() if result is not None: @@ -238,13 +245,14 @@ class SpiceDB(object): finally: session.close() - def delete_channel_value(self, channel, key): + def delete_channel_value(self, channel, key, category='default'): """Sets the value for a given key to be associated with the channel.""" channel = Identifier(channel).lower() session = self.ssession() try: result = session.query(ChannelValues) \ .filter(ChannelValues.channel == channel)\ + .filter(ChannelValues.category == category)\ .filter(ChannelValues.key == key) \ .one_or_none() # ChannelValue exists, delete @@ -257,7 +265,7 @@ class SpiceDB(object): finally: session.close() - def adjust_channel_value(self, channel, key, value): + def adjust_channel_value(self, channel, key, value, category='default'): """Sets the value for a given key to be associated with the channel.""" channel = Identifier(channel).lower() value = json.dumps(value, ensure_ascii=False) @@ -265,6 +273,7 @@ class SpiceDB(object): try: result = session.query(ChannelValues) \ .filter(ChannelValues.channel == channel)\ + .filter(ChannelValues.category == category)\ .filter(ChannelValues.key == key) \ .one_or_none() # ChannelValue exists, update @@ -273,7 +282,7 @@ class SpiceDB(object): session.commit() # DNE - Insert else: - new_channelvalue = ChannelValues(channel=channel, key=key, value=float(value)) + new_channelvalue = ChannelValues(channel=channel, category=category, key=key, value=float(value)) session.add(new_channelvalue) session.commit() except SQLAlchemyError: @@ -282,7 +291,7 @@ class SpiceDB(object): finally: session.close() - def adjust_channel_list(self, channel, key, entries, adjustmentdirection): + def adjust_channel_list(self, channel, key, entries, adjustmentdirection, category='default'): """Sets the value for a given key to be associated with the channel.""" channel = Identifier(channel).lower() if not isinstance(entries, list): @@ -292,6 +301,7 @@ class SpiceDB(object): try: result = session.query(ChannelValues) \ .filter(ChannelValues.channel == channel)\ + .filter(ChannelValues.category == category)\ .filter(ChannelValues.key == key) \ .one_or_none() # ChannelValue exists, update @@ -316,7 +326,7 @@ class SpiceDB(object): for entry in entries: while entry in values: values.remove(entry) - new_channelvalue = ChannelValues(channel=channel, key=key, value=values) + new_channelvalue = ChannelValues(channel=channel, category=category, key=key, value=values) session.add(new_channelvalue) session.commit() except SQLAlchemyError: @@ -327,7 +337,7 @@ class SpiceDB(object): # PLUGIN FUNCTIONS - def set_plugin_value(self, plugin, key, value): + def set_plugin_value(self, plugin, key, value, category='default'): """Sets the value for a given key to be associated with the plugin.""" plugin = Identifier(plugin).lower() value = json.dumps(value, ensure_ascii=False) @@ -335,6 +345,7 @@ class SpiceDB(object): try: result = session.query(PluginValues) \ .filter(PluginValues.plugin == plugin)\ + .filter(PluginValues.category == category)\ .filter(PluginValues.key == key) \ .one_or_none() # PluginValues exists, update @@ -343,7 +354,7 @@ class SpiceDB(object): session.commit() # DNE - Insert else: - new_pluginvalue = PluginValues(plugin=plugin, key=key, value=value) + new_pluginvalue = PluginValues(plugin=plugin, category=category, key=key, value=value) session.add(new_pluginvalue) session.commit() except SQLAlchemyError: @@ -352,13 +363,14 @@ class SpiceDB(object): finally: session.close() - def get_plugin_value(self, plugin, key): + def get_plugin_value(self, plugin, key, category='default'): """Retrieves the value for a given key associated with a plugin.""" plugin = Identifier(plugin).lower() session = self.ssession() try: result = session.query(PluginValues) \ .filter(PluginValues.plugin == plugin)\ + .filter(PluginValues.category == category)\ .filter(PluginValues.key == key) \ .one_or_none() if result is not None: @@ -370,13 +382,14 @@ class SpiceDB(object): finally: session.close() - def delete_plugin_value(self, plugin, key): + def delete_plugin_value(self, plugin, key, category='default'): """Deletes the value for a given key to be associated with the plugin.""" plugin = Identifier(plugin).lower() session = self.ssession() try: result = session.query(PluginValues) \ .filter(PluginValues.plugin == plugin)\ + .filter(PluginValues.category == category)\ .filter(PluginValues.key == key) \ .one_or_none() # PluginValues exists, delete @@ -389,7 +402,7 @@ class SpiceDB(object): finally: session.close() - def adjust_plugin_value(self, plugin, key, value): + def adjust_plugin_value(self, plugin, key, value, category='default'): """Sets the value for a given key to be associated with the plugin.""" plugin = Identifier(plugin).lower() value = json.dumps(value, ensure_ascii=False) @@ -397,6 +410,7 @@ class SpiceDB(object): try: result = session.query(PluginValues) \ .filter(PluginValues.plugin == plugin)\ + .filter(PluginValues.category == category)\ .filter(PluginValues.key == key) \ .one_or_none() # ChannelValue exists, update @@ -405,7 +419,7 @@ class SpiceDB(object): session.commit() # DNE - Insert else: - new_pluginvalue = PluginValues(plugin=plugin, key=key, value=float(value)) + new_pluginvalue = PluginValues(plugin=plugin, category=category, key=key, value=float(value)) session.add(new_pluginvalue) session.commit() except SQLAlchemyError: @@ -414,7 +428,7 @@ class SpiceDB(object): finally: session.close() - def adjust_plugin_list(self, plugin, key, entries, adjustmentdirection): + def adjust_plugin_list(self, plugin, key, entries, adjustmentdirection, category='default'): """Sets the value for a given key to be associated with the plugin.""" plugin = Identifier(plugin).lower() if not isinstance(entries, list): @@ -424,6 +438,7 @@ class SpiceDB(object): try: result = session.query(PluginValues) \ .filter(PluginValues.plugin == plugin)\ + .filter(PluginValues.category == category)\ .filter(PluginValues.key == key) \ .one_or_none() # ChannelValue exists, update @@ -448,7 +463,7 @@ class SpiceDB(object): for entry in entries: while entry in values: values.remove(entry) - new_pluginvalue = PluginValues(plugin=plugin, key=key, value=values) + new_pluginvalue = PluginValues(plugin=plugin, category=category, key=key, value=values) session.add(new_pluginvalue) session.commit() except SQLAlchemyError: