attempt first usage of decorator

This commit is contained in:
deathbybandaid 2019-05-15 16:11:17 -04:00
parent 33b086ac59
commit f5464a8b8b
9 changed files with 42 additions and 22 deletions

View File

@ -10,11 +10,12 @@ from sopel_modules.SpiceBot_SBTools import sopel_triggerargs, googlesearch, bot_
from sopel_modules.SpiceBot_Events.System import botevents from sopel_modules.SpiceBot_Events.System import botevents
@botevents.check_ready([botevents.BOT_LOADED, botevents.BOT_COMMANDSQUERY])
@sopel.module.nickname_commands('(.*)') @sopel.module.nickname_commands('(.*)')
def bot_command_nick(bot, trigger): def bot_command_nick(bot, trigger):
while not botevents.check([botevents.BOT_LOADED, botevents.BOT_COMMANDSQUERY]): # while not botevents.check([botevents.BOT_LOADED, botevents.BOT_COMMANDSQUERY]):
pass # pass
triggerargs, triggercommand = sopel_triggerargs(bot, trigger, 'nickname_command') triggerargs, triggercommand = sopel_triggerargs(bot, trigger, 'nickname_command')

View File

@ -14,11 +14,12 @@ from sopel_modules.SpiceBot_SBTools import (
from .Channels import bot_part_empty from .Channels import bot_part_empty
@botevents.check_ready([botevents.BOT_LOADED])
@sopel.module.nickname_commands('channels', 'channel') @sopel.module.nickname_commands('channels', 'channel')
def nickname_comand_channels(bot, trigger): def nickname_comand_channels(bot, trigger):
while not botevents.check(botevents.BOT_LOADED): # while not botevents.check(botevents.BOT_LOADED):
pass # pass
triggerargs, triggercommand = sopel_triggerargs(bot, trigger, 'nickname_command') triggerargs, triggercommand = sopel_triggerargs(bot, trigger, 'nickname_command')

View File

@ -12,11 +12,12 @@ from sopel_modules.SpiceBot_SBTools import sopel_triggerargs, similar_list, lett
import spicemanip import spicemanip
@botevents.check_ready([botevents.BOT_COMMANDSQUERY])
@sopel.module.nickname_commands('(.*)') @sopel.module.nickname_commands('(.*)')
def query_detection_nick(bot, trigger): def query_detection_nick(bot, trigger):
while not botevents.check(botevents.BOT_COMMANDSQUERY): # while not botevents.check(botevents.BOT_COMMANDSQUERY):
pass # pass
triggerargs, triggercommand = sopel_triggerargs(bot, trigger, 'nickname_command') triggerargs, triggercommand = sopel_triggerargs(bot, trigger, 'nickname_command')

View File

@ -12,11 +12,12 @@ from sopel_modules.SpiceBot_SBTools import sopel_triggerargs, similar_list, lett
import spicemanip import spicemanip
@botevents.check_ready([botevents.BOT_COMMANDSQUERY])
@sopel.module.rule('^\?(.*)') @sopel.module.rule('^\?(.*)')
def query_detection(bot, trigger): def query_detection(bot, trigger):
while not botevents.check(botevents.BOT_COMMANDSQUERY): # while not botevents.check(botevents.BOT_COMMANDSQUERY):
pass # pass
triggerargs, triggercommand = sopel_triggerargs(bot, trigger, 'query_command') triggerargs, triggercommand = sopel_triggerargs(bot, trigger, 'query_command')

View File

@ -5,7 +5,7 @@ from __future__ import unicode_literals, absolute_import, print_function, divisi
# sopel imports # sopel imports
import sopel import sopel
from sopel.trigger import PreTrigger from sopel.trigger import PreTrigger
# import functools import functools
from sopel_modules.SpiceBot_SBTools import bot_logging from sopel_modules.SpiceBot_SBTools import bot_logging
@ -76,10 +76,27 @@ class BotEvents(object):
return False return False
return True return True
def check_ready(self, checklist):
def actual_decorator(function):
@functools.wraps(function)
def _nop(*args, **kwargs):
# Assign trigger and bot for easy access later
bot, trigger = args[0:2]
while not self.check(checklist):
pass
return function(*args, **kwargs)
return _nop
return actual_decorator
botevents = BotEvents() botevents = BotEvents()
def setup(bot):
bot_logging(bot, 'SpiceBot_Events', "Starting setup procedure")
botevents.startup_add([botevents.BOT_WELCOME, botevents.BOT_READY, botevents.BOT_CONNECTED])
""" """
def register_trigger(number, message): def register_trigger(number, message):
def actual_decorator(function): def actual_decorator(function):
@ -96,8 +113,3 @@ ideas:
pass pass
""" """
def setup(bot):
bot_logging(bot, 'SpiceBot_Events', "Starting setup procedure")
botevents.startup_add([botevents.BOT_WELCOME, botevents.BOT_READY, botevents.BOT_CONNECTED])

View File

@ -12,11 +12,12 @@ from sopel_modules.SpiceBot_Events.System import botevents
import spicemanip import spicemanip
@botevents.check_ready([botevents.BOT_GIFSEARCH])
@module.commands('gif') @module.commands('gif')
def gif_trigger(bot, trigger): def gif_trigger(bot, trigger):
while not botevents.check(botevents.BOT_GIFSEARCH): # while not botevents.check(botevents.BOT_GIFSEARCH):
pass # pass
triggerargs, triggercommand = sopel_triggerargs(bot, trigger) triggerargs, triggercommand = sopel_triggerargs(bot, trigger)
if not len(triggerargs): if not len(triggerargs):

View File

@ -12,11 +12,12 @@ from sopel_modules.SpiceBot_SBTools import sopel_triggerargs
from sopel_modules.SpiceBot_Events.System import botevents from sopel_modules.SpiceBot_Events.System import botevents
@botevents.check_ready([botevents.BOT_GIFSEARCH])
@sopel.module.commands('(.*)') @sopel.module.commands('(.*)')
def gifapi_triggers(bot, trigger): def gifapi_triggers(bot, trigger):
while not botevents.check(botevents.BOT_GIFSEARCH): # while not botevents.check(botevents.BOT_GIFSEARCH):
pass # pass
triggerargs, triggercommand = sopel_triggerargs(bot, trigger, 'prefix_command') triggerargs, triggercommand = sopel_triggerargs(bot, trigger, 'prefix_command')

View File

@ -27,12 +27,13 @@ def bot_events_complete(bot, trigger):
bot.memory["SpiceBot_InvalidCommand"]["valid"].extend(bot.memory['SpiceBot_CommandsQuery']['commands'][comtype].keys()) bot.memory["SpiceBot_InvalidCommand"]["valid"].extend(bot.memory['SpiceBot_CommandsQuery']['commands'][comtype].keys())
@botevents.check_ready([botevents.BOT_LOADED, botevents.BOT_COMMANDSQUERY])
@sopel.module.commands('(.*)') @sopel.module.commands('(.*)')
def InvalidCommand_triggers(bot, trigger): def InvalidCommand_triggers(bot, trigger):
return return
while not botevents.check([botevents.BOT_LOADED, botevents.BOT_COMMANDSQUERY]): # while not botevents.check([botevents.BOT_LOADED, botevents.BOT_COMMANDSQUERY]):
pass # pass
triggerargs, triggercommand = sopel_triggerargs(bot, trigger, 'prefix_command') triggerargs, triggercommand = sopel_triggerargs(bot, trigger, 'prefix_command')

View File

@ -11,11 +11,12 @@ from sopel_modules.SpiceBot_Events.System import botevents
from .Logs import systemd_logs_fetch, stdio_logs_fetch from .Logs import systemd_logs_fetch, stdio_logs_fetch
@botevents.check_ready([botevents.BOT_LOGS])
@sopel.module.nickname_commands('logs', 'debug') @sopel.module.nickname_commands('logs', 'debug')
def bot_command_logs(bot, trigger): def bot_command_logs(bot, trigger):
while not botevents.check(botevents.BOT_LOGS): # while not botevents.check(botevents.BOT_LOGS):
pass # pass
if not command_permissions_check(bot, trigger, ['admins', 'owner', 'OP', 'ADMIN', 'OWNER']): if not command_permissions_check(bot, trigger, ['admins', 'owner', 'OP', 'ADMIN', 'OWNER']):
bot.say("I was unable to process this Bot Nick command due to privilege issues.") bot.say("I was unable to process this Bot Nick command due to privilege issues.")