diff --git a/mlc/action.py b/mlc/action.py index e326dbcbb..fba8b2668 100644 --- a/mlc/action.py +++ b/mlc/action.py @@ -29,6 +29,18 @@ def setup_logging(log_path = os.getcwd(),log_file = 'mlc-log.txt'): logger.addHandler(consoleHandler) logger.propagate = False +# Factory to get the appropriate action class +def get_action(target, parent): + action_class = actions.get(target, None) + return action_class(parent) if action_class else None + + +def access(i): + action = i['action'] + target = i.get('target', i.get('automation')) + action_class = get_action(target, default_parent) + r = action_class.access(i) + return r # Base class for CLI actions class Action: