From 0df984728668740acab781deb01445dd38b7d3e7 Mon Sep 17 00:00:00 2001 From: deathbybandaid Date: Sun, 5 May 2019 18:06:42 -0400 Subject: [PATCH] Events: Start Migration from bot.memory to Event Numbers --- sopel_modules/SpiceBot_Botevents/BotEvents.py | 75 ------------------- sopel_modules/SpiceBot_Channels/Channels.py | 2 +- .../SpiceBot_CommandsQuery/CommandsQuery.py | 2 +- .../Events.py} | 2 +- .../__init__.py | 2 +- sopel_modules/SpiceBot_GifSearch/gifsearch.py | 2 +- .../Connected.py | 4 +- sopel_modules/SpiceBot_LoadOrder/LoadOrder.py | 75 +++++++++++++++++++ .../Startup_Complete.py | 4 +- .../__init__.py | 6 +- .../StartupMonologue.py | 2 +- 11 files changed, 88 insertions(+), 88 deletions(-) delete mode 100644 sopel_modules/SpiceBot_Botevents/BotEvents.py rename sopel_modules/{SpiceBot_Pretrigger/Pretrigger.py => SpiceBot_Events/Events.py} (89%) rename sopel_modules/{SpiceBot_Pretrigger => SpiceBot_Events}/__init__.py (87%) rename sopel_modules/{SpiceBot_Botevents => SpiceBot_LoadOrder}/Connected.py (80%) create mode 100644 sopel_modules/SpiceBot_LoadOrder/LoadOrder.py rename sopel_modules/{SpiceBot_Botevents => SpiceBot_LoadOrder}/Startup_Complete.py (75%) rename sopel_modules/{SpiceBot_Botevents => SpiceBot_LoadOrder}/__init__.py (70%) diff --git a/sopel_modules/SpiceBot_Botevents/BotEvents.py b/sopel_modules/SpiceBot_Botevents/BotEvents.py deleted file mode 100644 index 828d696..0000000 --- a/sopel_modules/SpiceBot_Botevents/BotEvents.py +++ /dev/null @@ -1,75 +0,0 @@ -# coding=utf8 -"""Sopel_BotEvents - -Sopel BotEvents is a poor mans way to create module load order dependencies -""" -from __future__ import unicode_literals, absolute_import, division, print_function - -import sopel.module -from sopel_modules.SpiceBot_SBTools import bot_logging -import threading - - -def configure(config): - pass - - -def setup(bot): - # TODO add custom pretrigger events - bot_logging(bot, 'Sopel_BotEvents', "Starting Module Events Logging") - - threading.Thread(target=setup_thread, args=(bot,)).start() - - -def shutdown(bot): - if "Sopel_BotEvents" in bot.memory: - del bot.memory["Sopel_BotEvents"] - - -def setup_thread(bot): - if "Sopel_BotEvents" not in bot.memory: - bot.memory["Sopel_BotEvents"] = {"loaded": [], "startup": []} - - -def list_bot_events(bot, list_type): - if "Sopel_BotEvents" not in bot.memory: - bot.memory["Sopel_BotEvents"] = {"loaded": [], "startup": []} - return bot.memory["Sopel_BotEvents"][list_type] - - -def check_bot_events(bot, listreq): - if "Sopel_BotEvents" not in bot.memory: - bot.memory["Sopel_BotEvents"] = {"loaded": [], "startup": []} - if not isinstance(listreq, list): - listreq = [str(listreq)] - for requirement in listreq: - if requirement not in bot.memory["Sopel_BotEvents"]["loaded"]: - return False - return True - - -def set_bot_event(bot, addonreq): - if "Sopel_BotEvents" not in bot.memory: - bot.memory["Sopel_BotEvents"] = {"loaded": [], "startup": []} - if not isinstance(addonreq, list): - addonreq = [str(addonreq)] - - bot.memory["Sopel_BotEvents"]["loaded"].extend(addonreq) - - -def startup_bot_event(bot, addonreq): - if "Sopel_BotEvents" not in bot.memory: - bot.memory["Sopel_BotEvents"] = {"loaded": [], "startup": []} - if not isinstance(addonreq, list): - addonreq = [str(addonreq)] - - bot.memory["Sopel_BotEvents"]["startup"].extend(addonreq) - - -def check_bot_startup(bot): - if "Sopel_BotEvents" not in bot.memory: - bot.memory["Sopel_BotEvents"] = {"loaded": [], "startup": []} - for startupitem in bot.memory["Sopel_BotEvents"]["startup"]: - if startupitem not in bot.memory["Sopel_BotEvents"]["loaded"]: - return False - return True diff --git a/sopel_modules/SpiceBot_Channels/Channels.py b/sopel_modules/SpiceBot_Channels/Channels.py index e81e162..42d94e9 100644 --- a/sopel_modules/SpiceBot_Channels/Channels.py +++ b/sopel_modules/SpiceBot_Channels/Channels.py @@ -6,7 +6,7 @@ from __future__ import unicode_literals, absolute_import, print_function, divisi import sopel.module from sopel.config.types import StaticSection, ValidatedAttribute, ListAttribute -from sopel_modules.SpiceBot_Botevents.BotEvents import set_bot_event, startup_bot_event +from sopel_modules.SpiceBot_LoadOrder.LoadOrder import set_bot_event, startup_bot_event import time diff --git a/sopel_modules/SpiceBot_CommandsQuery/CommandsQuery.py b/sopel_modules/SpiceBot_CommandsQuery/CommandsQuery.py index 0ed520c..fc2ee60 100644 --- a/sopel_modules/SpiceBot_CommandsQuery/CommandsQuery.py +++ b/sopel_modules/SpiceBot_CommandsQuery/CommandsQuery.py @@ -11,7 +11,7 @@ from operator import itemgetter import threading -from sopel_modules.SpiceBot_Botevents.BotEvents import set_bot_event, check_bot_events, bot_logging +from sopel_modules.SpiceBot_LoadOrder.LoadOrder import set_bot_event, check_bot_events, bot_logging import spicemanip diff --git a/sopel_modules/SpiceBot_Pretrigger/Pretrigger.py b/sopel_modules/SpiceBot_Events/Events.py similarity index 89% rename from sopel_modules/SpiceBot_Pretrigger/Pretrigger.py rename to sopel_modules/SpiceBot_Events/Events.py index cb572a7..df9531c 100644 --- a/sopel_modules/SpiceBot_Pretrigger/Pretrigger.py +++ b/sopel_modules/SpiceBot_Events/Events.py @@ -21,6 +21,6 @@ def bot_trigger_simulator(bot, trigger): def bot_event_trigger_create(bot, number, message): pretrigger = sopel.trigger.PreTrigger( bot.nick, - ":SpiceBot_Event " + str(number) + " " + str(bot.nick) + " :" + message + ":SpiceBot_Events " + str(number) + " " + str(bot.nick) + " :" + message ) bot.dispatch(pretrigger) diff --git a/sopel_modules/SpiceBot_Pretrigger/__init__.py b/sopel_modules/SpiceBot_Events/__init__.py similarity index 87% rename from sopel_modules/SpiceBot_Pretrigger/__init__.py rename to sopel_modules/SpiceBot_Events/__init__.py index 3dc1965..2e6b7d5 100644 --- a/sopel_modules/SpiceBot_Pretrigger/__init__.py +++ b/sopel_modules/SpiceBot_Events/__init__.py @@ -1,7 +1,7 @@ # coding=utf8 from __future__ import unicode_literals, absolute_import, division, print_function -from .Pretrigger import * +from .Events import * __author__ = 'Sam Zick' __email__ = 'sam@deathbybandaid.net' diff --git a/sopel_modules/SpiceBot_GifSearch/gifsearch.py b/sopel_modules/SpiceBot_GifSearch/gifsearch.py index b6cad11..c68f958 100644 --- a/sopel_modules/SpiceBot_GifSearch/gifsearch.py +++ b/sopel_modules/SpiceBot_GifSearch/gifsearch.py @@ -5,7 +5,7 @@ from __future__ import unicode_literals, absolute_import, division, print_functi import sopel.module from sopel.config.types import StaticSection, ValidatedAttribute -from sopel_modules.SpiceBot_Botevents.BotEvents import set_bot_event, startup_bot_event +from sopel_modules.SpiceBot_LoadOrder.LoadOrder import set_bot_event, startup_bot_event from sopel_modules.SpiceBot_CommandsQuery.CommandsQuery import commandsquery_register, commandsquery_register_type diff --git a/sopel_modules/SpiceBot_Botevents/Connected.py b/sopel_modules/SpiceBot_LoadOrder/Connected.py similarity index 80% rename from sopel_modules/SpiceBot_Botevents/Connected.py rename to sopel_modules/SpiceBot_LoadOrder/Connected.py index 1c62e49..7fa18fa 100644 --- a/sopel_modules/SpiceBot_Botevents/Connected.py +++ b/sopel_modules/SpiceBot_LoadOrder/Connected.py @@ -3,7 +3,7 @@ from __future__ import unicode_literals, absolute_import, division, print_function import sopel.module -from .BotEvents import check_bot_events, startup_bot_event, set_bot_event +from .LoadOrder import check_bot_events, startup_bot_event, set_bot_event from sopel_modules.SpiceBot_SBTools import bot_logging import time @@ -22,4 +22,4 @@ def bot_startup_connection(bot, trigger): time.sleep(1) set_bot_event(bot, "connected") - bot_logging(bot, 'Sopel_BotEvents', "Connected to IRC") + bot_logging(bot, 'Sopel_LoadOrder', "Connected to IRC") diff --git a/sopel_modules/SpiceBot_LoadOrder/LoadOrder.py b/sopel_modules/SpiceBot_LoadOrder/LoadOrder.py new file mode 100644 index 0000000..7284293 --- /dev/null +++ b/sopel_modules/SpiceBot_LoadOrder/LoadOrder.py @@ -0,0 +1,75 @@ +# coding=utf8 +"""Sopel_LoadOrder + +Sopel LoadOrder is a poor mans way to create module load order dependencies +""" +from __future__ import unicode_literals, absolute_import, division, print_function + +import sopel.module +from sopel_modules.SpiceBot_SBTools import bot_logging +import threading + + +def configure(config): + pass + + +def setup(bot): + # TODO add custom pretrigger events + bot_logging(bot, 'Sopel_LoadOrder', "Starting Module Events Logging") + + threading.Thread(target=setup_thread, args=(bot,)).start() + + +def shutdown(bot): + if "Sopel_LoadOrder" in bot.memory: + del bot.memory["Sopel_LoadOrder"] + + +def setup_thread(bot): + if "Sopel_LoadOrder" not in bot.memory: + bot.memory["Sopel_LoadOrder"] = {"loaded": [], "startup": []} + + +def list_bot_events(bot, list_type): + if "Sopel_LoadOrder" not in bot.memory: + bot.memory["Sopel_LoadOrder"] = {"loaded": [], "startup": []} + return bot.memory["Sopel_LoadOrder"][list_type] + + +def check_bot_events(bot, listreq): + if "Sopel_LoadOrder" not in bot.memory: + bot.memory["Sopel_LoadOrder"] = {"loaded": [], "startup": []} + if not isinstance(listreq, list): + listreq = [str(listreq)] + for requirement in listreq: + if requirement not in bot.memory["Sopel_LoadOrder"]["loaded"]: + return False + return True + + +def set_bot_event(bot, addonreq): + if "Sopel_LoadOrder" not in bot.memory: + bot.memory["Sopel_LoadOrder"] = {"loaded": [], "startup": []} + if not isinstance(addonreq, list): + addonreq = [str(addonreq)] + + bot.memory["Sopel_LoadOrder"]["loaded"].extend(addonreq) + + +def startup_bot_event(bot, addonreq): + if "Sopel_LoadOrder" not in bot.memory: + bot.memory["Sopel_LoadOrder"] = {"loaded": [], "startup": []} + if not isinstance(addonreq, list): + addonreq = [str(addonreq)] + + bot.memory["Sopel_LoadOrder"]["startup"].extend(addonreq) + + +def check_bot_startup(bot): + if "Sopel_LoadOrder" not in bot.memory: + bot.memory["Sopel_LoadOrder"] = {"loaded": [], "startup": []} + for startupitem in bot.memory["Sopel_LoadOrder"]["startup"]: + if startupitem not in bot.memory["Sopel_LoadOrder"]["loaded"]: + return False + return True diff --git a/sopel_modules/SpiceBot_Botevents/Startup_Complete.py b/sopel_modules/SpiceBot_LoadOrder/Startup_Complete.py similarity index 75% rename from sopel_modules/SpiceBot_Botevents/Startup_Complete.py rename to sopel_modules/SpiceBot_LoadOrder/Startup_Complete.py index ad8e106..16800ee 100644 --- a/sopel_modules/SpiceBot_Botevents/Startup_Complete.py +++ b/sopel_modules/SpiceBot_LoadOrder/Startup_Complete.py @@ -5,7 +5,7 @@ from __future__ import unicode_literals, absolute_import, division, print_functi import sopel.module from sopel_modules.SpiceBot_SBTools import bot_logging -from .BotEvents import set_bot_event, check_bot_startup +from .LoadOrder import set_bot_event, check_bot_startup @sopel.module.event('001') @@ -16,4 +16,4 @@ def bot_startup_complete(bot, trigger): pass set_bot_event(bot, "startup_complete") - bot_logging(bot, 'Sopel_BotEvents', "Module Events Logging Complete") + bot_logging(bot, 'Sopel_LoadOrder', "Module Events Logging Complete") diff --git a/sopel_modules/SpiceBot_Botevents/__init__.py b/sopel_modules/SpiceBot_LoadOrder/__init__.py similarity index 70% rename from sopel_modules/SpiceBot_Botevents/__init__.py rename to sopel_modules/SpiceBot_LoadOrder/__init__.py index ca44086..9307079 100644 --- a/sopel_modules/SpiceBot_Botevents/__init__.py +++ b/sopel_modules/SpiceBot_LoadOrder/__init__.py @@ -1,11 +1,11 @@ # coding=utf8 -"""Sopel_BotEvents +"""Sopel_LoadOrder -Sopel BotEvents is a poor mans way to create module load order dependencies +Sopel LoadOrder is a poor mans way to create module load order dependencies """ from __future__ import unicode_literals, absolute_import, division, print_function -from .BotEvents import * +from .LoadOrder import * from .Connected import * from .Startup_Complete import * diff --git a/sopel_modules/SpiceBot_StartupMonologue/StartupMonologue.py b/sopel_modules/SpiceBot_StartupMonologue/StartupMonologue.py index f86d971..4501367 100644 --- a/sopel_modules/SpiceBot_StartupMonologue/StartupMonologue.py +++ b/sopel_modules/SpiceBot_StartupMonologue/StartupMonologue.py @@ -4,7 +4,7 @@ from __future__ import unicode_literals, absolute_import, division, print_functi from sopel import module -from sopel_modules.SpiceBot_Botevents.BotEvents import set_bot_event, check_bot_events +from sopel_modules.SpiceBot_LoadOrder.LoadOrder import set_bot_event, check_bot_events from sopel_modules.SpiceBot_SBTools import humanized_time, bot_logging import time