from api.gitlab_classes import * from course import Course if __name__ == '__main__': projects = GitlabProject.get_projects_by_group(Course.gitlab_namespace) projects = list(filter(lambda p: p.get_name().startswith('30pair'), projects)) projects.sort(key=lambda p: p.get_name()) for project in projects: commits = project.get_commits() print(f'\n\n. >>>> {project} <<<<') print(f'{len(commits)} commits on the master branch') merges = 0 reverts = 0 well_formatted_commits = 0 malformatted_commits = [] for commit in commits: if commit.is_merge(): merges += 1 elif commit.get_message().startswith('Revert'): reverts += 1 elif commit.is_well_formatted(): well_formatted_commits += 1 else: malformatted_commits.append(commit) print( f'{merges} merges, {reverts} reverts, {well_formatted_commits} well-formatted commits, ' f'and {len(malformatted_commits)} malformatted commits') for commit in malformatted_commits: print(f'{commit.detail_formatting_problems()} ({commit.get_author()})')