test functionality split

This commit is contained in:
deathbybandaid 2019-05-23 11:08:13 -04:00
parent 954928f528
commit 8fc5862bb5

View File

@ -5,6 +5,7 @@ This is the SpiceBot Prerun system.
"""
import functools
import copy
import spicemanip
@ -16,35 +17,52 @@ class BotPrerun():
def actual_decorator(function):
@functools.wraps(function)
def internal_prerun(bot, trigger, *args, **kwargs):
prerun_split = self.trigger_args(bot, trigger, trigger_command_type)
for argsdict in prerun_split:
argsdict_default = {}
argsdict_default["type"] = trigger_command_type
# Primary command used for trigger, and a list of all words
trigger_args, trigger_command = self.trigger_args(trigger.args[1], trigger_command_type)
argsdict_default["com"] = trigger_command
# split into && groupings
and_split = self.and_split(trigger_args)
# Create dict listings for trigger.sb
argsdict_list = self.argsdict_create(argsdict_default, and_split)
# Run the function for all splits
for argsdict in argsdict_list:
trigger.sb = argsdict
function(bot, trigger, *args, **kwargs)
return
return internal_prerun
return actual_decorator
def trigger_args(self, bot, trigger, trigger_command_type='module_command'):
trigger_args = spicemanip.main(trigger.args[1], 'create')
def trigger_args(self, triggerargs_one, trigger_command_type='module_command'):
trigger_args = spicemanip.main(triggerargs_one, 'create')
if trigger_command_type in ['nickname', 'nickname_command', 'nickname_commands']:
trigger_command = spicemanip.main(trigger_args, 2).lower()
trigger_args = spicemanip.main(trigger_args, '3+', 'list')
else:
trigger_command = spicemanip.main(trigger_args, 1).lower()[1:]
trigger_args = spicemanip.main(trigger_args, '2+', 'list')
return trigger_args, trigger_command
# Handle && splittings
def and_split(self, trigger_args):
trigger_args_list_split = spicemanip.main(trigger_args, "split_&&")
if not len(trigger_args_list_split):
trigger_args_list_split.append([])
return trigger_args_list_split
def argsdict_list(self, argsdict_default, prerun_and_split):
prerun_split = []
for trigger_args_list in trigger_args_list_split:
for trigger_args_list in prerun_and_split:
argsdict = copy.deepcopy(argsdict_default)
trigger_args_part = spicemanip.main(trigger_args_list, 'create')
argsdict = {"com": trigger_command, "args": trigger_args_part, "type": trigger_command_type}
argsdict["args"] = trigger_args_part
prerun_split.append(argsdict)
return prerun_split