MCPcopy Index your code
hub / github.com/diffgram/diffgram / serialize_builder_view_by_id

Method serialize_builder_view_by_id

shared/database/task/task.py:540–599  ·  view source on GitHub ↗
(self, session)

Source from the content-addressed store, hash-verified

538 }
539
540 def serialize_builder_view_by_id(self, session):
541
542 guide = None
543 if self.guide_id:
544 guide = self.guide.serialize_for_trainer()
545
546 gold_standard_file = None
547 if self.job_type == "Exam" and self.task_type == "review":
548 gold_standard_file = self.get_gold_standard_file()
549
550 # I'm not a huge fan of supplying user script this way but for now
551 default_userscript = None
552 if self.job:
553 if self.job.default_userscript:
554 default_userscript = self.job.default_userscript.serialize()
555
556 task_comment = ""
557
558 if self.status == "complete" or self.status == "requires_changes":
559 task_comment = TaskEvent.get_last_task_comment(session, self.id, self.job_id, self.project_id)
560
561 task_assignees = []
562 task_reviewers = []
563 if session:
564 file = self.file.serialize_with_type(session = session)
565
566 task_assignees_query = TaskUser.list(session, self.id, None, None, 'assignee')
567
568 for assignee in task_assignees_query:
569 task_assignees.append(assignee.serialize())
570
571 task_reviewers_query = TaskUser.list(session, self.id, None, None, 'reviewer')
572
573 for assignee in task_reviewers_query:
574 task_reviewers.append(assignee.serialize())
575
576 task_serialized = {
577 'id': self.id,
578 'job_id': self.job_id,
579 'job': self.job.serialize_for_task(),
580 'project_string_id': self.project.project_string_id,
581 'task_type': self.task_type,
582 'job_type': self.job_type,
583 'file': self.file.serialize_with_type(session = session),
584 'gold_standard_file': gold_standard_file,
585 'guide': guide,
586 'label_dict': self.label_dict,
587 'status': self.status,
588 'time_updated': str(self.time_updated),
589 'time_completed': str(self.time_completed),
590 'default_userscript': default_userscript,
591 'assignee_user_id': self.assignee_user_id,
592 'task_comment': task_comment,
593 'task_reviewers': task_reviewers,
594 'task_assignees': task_assignees
595 }
596 time_tracking_records = self.get_time_tracking_data(session = session)
597 time_tracking_records_data = [x.serialize() for x in time_tracking_records]

Callers 5

task_complete_coreFunction · 0.80
task_review_coreFunction · 0.80
task_next_coreFunction · 0.80
task_by_id_coreFunction · 0.80

Calls 8

serialize_for_trainerMethod · 0.80
get_last_task_commentMethod · 0.80
serialize_with_typeMethod · 0.80
serialize_for_taskMethod · 0.80
serializeMethod · 0.45
listMethod · 0.45

Tested by

no test coverage detected