def status(self, group_names, padding):
        """Print status for groups"""

        groups = [g for g in self.groups if g.name in group_names]
        for group in groups:
            print(fmt.group_name(group.name))
            for project in group.projects:
                print(project.status(padding=padding))
Example #2
0
    def print_validation(self):
        """Print validation message for projects in group"""

        if self.is_valid():
            return

        print(fmt.group_name(self.name))
        for project in self.projects:
            project.print_validation()
Example #3
0
    def print_existence_message(self):
        """Print existence validation message for projects in group"""

        if self.existing_projects():
            return

        print(fmt.group_name(self.name))
        for project in self.projects:
            project.print_exists()
    def _run_group_command(group, skip, command, *args, **kwargs):
        """Run group command and print output"""

        print(fmt.group_name(group.name))
        for project in group.projects:
            print(project.status())
            if project.name in skip:
                print(fmt.skip_project_message())
                continue
            getattr(project, command)(*args, **kwargs)
Example #5
0
def print_parallel_groups_output(groups, skip):
    """Print output for parallel group command

    :param list[Group] groups: Groups to print output for
    :param list[str] skip: Project names to skip
    """

    for group in groups:
        print(fmt.group_name(group.name))
        print_parallel_projects_output(group.projects, skip)
Example #6
0
    def print_existence_message(self):
        """Print existence validation message for projects in group"""

        if self.existing_projects():
            return

        print(fmt.group_name(self.name))
        for project in self.projects:
            if not existing_git_repository(project.full_path()):
                print(project.status())
                existing_git_repository(project.full_path())
    def _print_parallel_groups_output(groups, skip):
        """Print output for parallel group command"""

        for group in groups:
            print(fmt.group_name(group.name))
            for project in group.projects:
                if project.name in skip:
                    continue
                print(project.status())
                if project.fork:
                    print('  ' + fmt.fork_string(project.name))
                    print('  ' + fmt.fork_string(project.fork.name))
Example #8
0
def run_group_command(group, skip, command, *args, **kwargs):
    """Run group command and print output

    :param Group group: Group to run command for
    :param list[str] skip: Project names to skip
    :param str command: Name of method to invoke
    :param args: List of arguments to pass to method invocation
    :param kwargs: Dict of arguments to pass to method invocation
    """

    print(fmt.group_name(group.name))
    for project in group.projects:
        print(project.status())
        if project.name in skip:
            print(fmt.skip_project_message())
            continue
        getattr(project, command)(*args, **kwargs)
Example #9
0
    def _mycommand(self):
        """Example plugin command private implementation"""

        print("foo: " + self.app.pargs.foo + '\n')

        print("Clowder information\n")

        defaults = CLOWDER_CONTROLLER.defaults
        print("Default ref: " + defaults.ref)
        print("Default remote name: " + defaults.remote)
        print("Default source name: " + defaults.source)
        print("Default git protocol: " + defaults.protocol)
        print("Default depth: " + str(defaults.depth))
        print("Default recursive value: " + str(defaults.recursive))
        print("Default timestamp author: " + str(defaults.timestamp_author))

        for group in CLOWDER_CONTROLLER.groups:
            print('\n' + fmt.group_name(group.name))
            print("Group name: " + group.name)
            print("Group depth: " + str(group.depth))
            print("Group recursive: " + str(group.recursive))
            print("Group timestamp author: " + str(group.timestamp_author))
            print("Group ref: " + group.ref)
            print("Group remote name: " + group.remote_name)
            for project in group.projects:
                print("\nProject name: " + project.name)
                print("Project path: " + project.path)
                print("Project ref: " + project.ref)
                print("Project remote: " + project.remote)
                print("Project depth: " + str(project.depth))
                print("Project recursive: " + str(project.recursive))
                print("Source name: " + project.source.name)
                print("Source url: " + project.source.url)
                if project.fork:
                    print("Fork name: " + project.fork.name)
                    print("Fork path: " + project.fork.path)
                    print("Fork remote name: " + project.fork.remote_name)