def run(args, features=None): """ Run an ape task. Composes task modules out of the selected features and calls the task with arguments. :param args: list comprised of task name followed by arguments :param features: list of features to compose before invoking the task """ features = features or [] for feature in features: tasks_module = get_task_module(feature) if tasks_module: tasks.superimpose(tasks_module) if len(args) < 2 or (len(args) == 2 and args[1] == 'help'): tasks.help() else: taskname = args[1] try: task = tasks.get_task(taskname, include_helpers=False) except TaskNotFound: print( 'Task "%s" not found! Use "ape help" to get usage information.' % taskname) else: remaining_args = args[2:] if len(args) > 2 else [] invoke_task(task, remaining_args)
def run(args, features=None): ''' composes task modules of the selected features and calls the task given by args ''' features = features or [] for feature in features: try: feature_module = importlib.import_module(feature) except ImportError: raise FeatureNotFound(feature) try: tasks_module = importlib.import_module(feature + '.tasks') tasks.superimpose(tasks_module) except ImportError: #No tasks module in feature ... skip it pass if len(args) < 2 or (len(args) == 2 and args[1] == 'help'): tasks.help() else: taskname = args[1] try: task = tasks.get_task(taskname, include_helpers=False) except TaskNotFound: print 'Task "%s" not found! Use "ape help" to get usage information.' % taskname else: remaining_args = args[2:] if len(args) > 2 else [] invoke_task(task, remaining_args)
def help(task): '''print help on specific task''' from ape import tasks tasks.help(taskname=task)