def build_container_if_not_exists(course_id): """Builds the docker container if it doesn't exist Requires normalized course_id """ manager = cm.ContainerManager(course_id) if not manager.container_exists(): log.info("Containter: {} did not exist, building...".format(course_id)) manager.build_container() manager.cleanup()
def update_requirements(course_id, f): """Updates Requirements model file this course_id""" course = normalize_course_id(course_id) try: packages = f.file.readlines() except AttributeError: raise ValidationError("No File Attached") manager = cm.ContainerManager(course) manager.set_requirements(packages) manager.build_container() manager.cleanup()
def get_requirements(course_id): """Returns contents of current requirements.txt for `course`""" course = normalize_course_id(course_id) manager = cm.ContainerManager(course) return manager.get_package_list()