def main(): from modules.hooks import isImportHooked, registerExitCall, hookIntoImport registerExitCall() if not isImportHooked(): hookIntoImport() registerFirstCaller()
r"""Forces the configuration of the members of the calling module. So that the configured members would be available for manipulation. Note: A call to this function will only be necessary when modifying an ec script witihin itself, as scripts are implicitly configured after their import. """ core.processModule(getCallingModule().__name__) def add(TargetGroup, NewMember, Config=None, Args=None): r"""Adds members to an existing group. Args: TargetGroup (Group): The target group for the addition. NewMember (Group / Task): The member to be added. Config (dict): The config for the member. Args (OrderedDict): ArgConfig for the NewMember, if it's a task (optional). """ Member = Task(NewMember, Args or {}, Config or {}) if isfunction(NewMember) else Group(NewMember, Config or {}) ParentMembers = TargetGroup.__ec_member__.Members ParentMembers[Member.Config['name']] = Member alias = Member.Config.get('alias') if alias: ParentMembers[alias] = Member # main if not hooks.isImportHooked(): hooks.EcModuleName = '%s.ec' % __name__[:__name__.rfind('.')] hooks.hookIntoImport()