Skip to content
Snippets Groups Projects
Select Git revision
  • b2b82a496dff7ec1f7eab93f51fb0f2cb61312e9
  • master default protected
2 results

autolab_example.py

Blame
  • Tue Herlau's avatar
    tuhe authored
    b2b82a49
    History
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    autolab_example.py 1.74 KiB
    import os
    from unitgrade_private.autolab.autolab import format_autolab_json
    from unitgrade_private.autolab.autolab import deploy_assignment
    from unitgrade_private.docker_helpers import download_docker_images
    
    if __name__ == "__main__":
        wdir = os.getcwd()
        args = [('example_simplest', 'cs101', 'report1_grade.py', 'report1_grade.py'),
                ('example_framework', 'cs102', 'report2_grade.py', 'report2_grade.py'),
                ('example_docker', 'cs103', 'report3_complete_grade.py', 'report3_grade.py'),
                ]
    
        from unitgrade_private import load_token
        # data, _ = load_token("../example_framework/instructor/cs102/Report2_handin_18_of_18.token")
        # data, _ = load_token("../example_framework/students/cs102/Report2_handin_3_of_16.token")
        # format_autolab_json(data, indent=2)
    
        download_docker_images("./docker")
        autograde_image = 'tango_python_tue'
        dockerfile = f"./docker/docker_tango_python/Dockerfile"
        for bdir, name, instructor, student in args:
            instructor_base = f"{wdir}/../{bdir}/instructor"
            student_base = f"{wdir}/../{bdir}/students"
    
            output_tar = deploy_assignment(name, INSTRUCTOR_BASE=instructor_base, INSTRUCTOR_GRADE_FILE=f"{instructor_base}/{name}/{instructor}",
                                           STUDENT_BASE=student_base, STUDENT_GRADE_FILE=f"{student_base}/{name}/{student}",
                                           autograde_image_tag=autograde_image)
            print(output_tar)
    
        from unitgrade_private.docker_helpers import compile_docker_image
    
        compile_docker_image(Dockerfile=dockerfile, tag=autograde_image)  # Make sure docker grading image is up-to-date.
        # compile_docker_image(Dockerfile=dockerfile, tag=autograde_image)  # Make sure docker grading image is up-to-date.