def _do_edit(self):
s = self.strings
# add_courses
for semester, sn in self._edit['add_courses']:
path = PurePosixPath('/', s['dir_root_courses'], semester)
node = self.open(path, edit_check=False)
course = WebCourseDirectory(self, node, semester, sn)
course.fetch()
assert course.ready == True
node.add(course.name, course)
node.add(sn, InternalLink(self, node, course.name))
# add_unenrolled_courses
for semester, sn in self._edit['add_unenrolled_courses']:
path = PurePosixPath('/', s['dir_root_courses'], semester)
node = self.open(path, edit_check=False)
course = UnenrolledCourseDirectory(self, node, sn)
course.fetch()
assert course.ready == True
node.add(course.name, course)
node.add(sn, InternalLink(self, node, course.name))
# delete_files
for path in self._edit['delete_files']:
node = self.open(path, edit_check=False, allow_students=False)
if node:
if node is self.root:
raise ValueError('?????????')
node.parent.unlink(PurePosixPath(path).name)
else:
self.root.students.queue_deletion_request(path)
# ????? open ??????
del self._edit
# ? JSON ??????????
评论列表
文章目录