def create_linter(
cls: t.Type['AssignmentLinter'],
assignment_id: int,
name: str,
config: str,
) -> 'AssignmentLinter':
"""Create a new instance of this class for a given :class:`Assignment`
with a given :py:class:`.linters.Linter`
:param assignment_id: The id of the assignment
:param name: Name of the linter
:returns: The created AssignmentLinter
"""
id = str(uuid.uuid4())
# Find a unique id.
while db.session.query(
AssignmentLinter.query.filter(cls.id == id).exists()
).scalar(): # pragma: no cover
id = str(uuid.uuid4())
self = cls(id=id, assignment_id=assignment_id, name=name)
self.config = config
self.tests = []
for work in Assignment.query.get(assignment_id
).get_all_latest_submissions():
self.tests.append(LinterInstance(work, self))
return self
评论列表
文章目录