def get_actions(parent, filepath=None): cparser = PuddleConfig() if not filepath: filepath = shortcut_path cparser.filename = filepath setting = cparser.data actions = [] for section in cparser.sections(): if section.startswith('shortcut'): values = dict([(str(k), v) for k,v in setting[section].items()]) actions.append(create_action(parent, **values)) return actions
def get_actions(parent, filepath=None): cparser = PuddleConfig() if not filepath: filepath = shortcut_path cparser.filename = filepath setting = cparser.data actions = [] for section in cparser.sections(): if section.startswith('shortcut'): values = dict([(str(k), v) for k, v in setting[section].items()]) actions.append(create_action(parent, **values)) return actions
def load_macro_info(filename): modules = defaultdict(lambda: defaultdict(lambda: {})) for function in functions.values(): if isinstance(function, PluginFunction): f = function.function modules[f.__module__][f.__name__] = function else: modules[function.__module__][function.__name__] = function cparser = PuddleConfig(filename) funcs = [] name = cparser.get('info', 'name', u'') def get_func_index(funcname): if funcname.startswith('Func'): return int(funcname[4:].strip()) else: return funcname for section in sorted(cparser.sections(), key=get_func_index): if section.startswith(u'Func'): get = partial(cparser.get, section) func_name = get(FUNC_NAME, u'') fields = get(FIELDS, []) func_module = get(FUNC_MODULE, u'') arguments = get(ARGS, []) try: func = Function(modules[func_module][func_name], fields) except IndexError: continue except AttributeError: continue newargs = [] for i, (control, arg) in enumerate(zip(func.controls, arguments)): if control == CHECKBOX: if arg == False or arg == u'False': newargs.append(False) else: newargs.append(True) elif control == SPINBOX: newargs.append(int(arg)) else: newargs.append(arg) if func.controls: func.args = newargs else: func.args = arguments funcs.append(func) return [funcs, name]