Exemple #1
0
    def _run_tasks(self, task_list, interactive):
        """
        Runs the tasks given on the command line.

        :param task_list: a task name or a list of task names to run
        :type task_list: str|list
        :param interactive: if asserted do not run the tasks in parallel
        :type interactive: bool
        :return: None
        """
        if not is_sequence(task_list):
            task_list = [task_list]

        verified_task_list = self._verified_tasks(task_list)
        debug("task_list: {tasks}".format(tasks=task_list))
        debug("verified_task_list: {tasks}".format(tasks=verified_task_list))
        if not verified_task_list:
            raise ValueError('No tasks given.  Run "herring -T" to see available tasks.')
        TaskWithArgs.argv = list([arg for arg in task_list if arg not in verified_task_list])

        def task_lookup(task_name_):
            info("Running: {name} ({description})".format(name=task_name_,
                                                          description=HerringTasks[task_name_]['description']))
            TaskWithArgs.arg_prompt = HerringTasks[task_name_]['arg_prompt']
            try:
                return HerringTasks[task_name_]['task']
            except Exception as ex:
                error(str(ex))

        for task_name_list in self._resolve_dependencies(verified_task_list, HerringTasks):
            if interactive:
                for task_name in task_name_list:
                    task_lookup(task_name)()
            else:
                parallelize_process(*[task_lookup(task_name) for task_name in task_name_list])
Exemple #2
0
    def run_tasks(task_list):
        """
        Runs the tasks given on the command line.

        :param task_list: a task name or a list of task names to run
        :type task_list: str|list
        :return: None
        """
        if not is_sequence(task_list):
            task_list = [task_list]

        verified_task_list = HerringApp._verified_tasks(task_list)
        debug("task_list: {tasks}".format(tasks=task_list))
        debug("verified_task_list: {tasks}".format(tasks=verified_task_list))
        if not verified_task_list:
            raise ValueError('No tasks given.  Run "herring -T" to see available tasks.')
        TaskWithArgs.argv = list([arg for arg in task_list if arg not in verified_task_list])

        for task_name in HerringApp._resolve_dependencies(verified_task_list, HerringTasks):
            info("Running: {name} ({description})".format(name=task_name,
                                                          description=HerringTasks[task_name]['description']))
            TaskWithArgs.arg_prompt = HerringTasks[task_name]['arg_prompt']
            HerringTasks[task_name]['task']()
Exemple #3
0
def test_tuple_sequence():
    assert is_sequence((1, 2, 3))
Exemple #4
0
def test_list_sequence():
    assert is_sequence(['abcd'])
Exemple #5
0
def test_string_sequence():
    assert not is_sequence('abcd')