diff --git a/common_functions.py b/common_functions.py index d902378881f3d5c2628b4300569563e260fac22d..0c98e5fcbb478f4f9aa79a380dab00a746454193 100644 --- a/common_functions.py +++ b/common_functions.py @@ -19,6 +19,7 @@ def strip_html(text: Optional[str]) -> Optional[str]: else: return None + def semester_stamp() -> str: today = datetime.date.today() year: int = today.year diff --git a/grade_team_contribution.py b/grade_team_contribution.py index 3f59b8c3c26997a103154aa5306fab0f035f8ece..c090ad18b0854cb9fec0fcfe2bd7880b6e4cd38d 100644 --- a/grade_team_contribution.py +++ b/grade_team_contribution.py @@ -40,7 +40,7 @@ def get_project_prefix(canvas_groups): def display_git_contributions(project: GitlabProject): # TODO: recognize that this only works for projects in namespace; will need to ask whether to retrieve project. commits: List[GitlabCommit] = project.get_commits() # TODO: narrow the selection - contributions: Dict[str, int] = {} + contributions: Dict[str, int] = {} # TODO: also broaden to multiple branches? contributors: Set[Tuple[str, str]] = set() # noinspection PyShadowingNames for commit in commits: @@ -89,9 +89,9 @@ if __name__ == '__main__': zero_padding: int = ceil(log10(len(projects))) for student_group in student_groups: # TODO: Skip past graded groups input(f'\n\nPress Enter to grade {student_group}') + print() project_name = f'{project_prefix}{student_group.get_name().split()[1]}'.zfill(zero_padding) display_git_contributions(list(filter(lambda p: p.get_name() == project_name, projects))[0]) - print() display_peer_reviews(peer_review_assignment, student_group.get_students()) # TODO: Ask if you want to grade (keep track of groups that you don't grade) if True: diff --git a/prep_assignment.py b/prep_assignment.py index 7a426d11a1dd57da5df4b0170159f440ea1741a8..c4c2a8b22aff66d59df3d27ea6607bcf461f15ec 100644 --- a/prep_assignment.py +++ b/prep_assignment.py @@ -25,6 +25,7 @@ def get_students() -> Set[CompositeUser]: # TODO: assign_partners for arbitrarily-sized teams # TODO: break this up into bite-sized chunks +# TODO: manage multiple sections def create_pairs(students: Set[CompositeUser], groupset_name: str = 'Unknown Assignment') -> \ List[Tuple[int, CompositeUser, CompositeUser, Optional[CompositeUser]]]: students_with_blacklist: Set[CompositeUser] = sorted(list(filter(lambda s: s.has_blacklist(), students)),