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

Method new

shared/database/task/task.py:885–943  ·  view source on GitHub ↗
(session,
            job,
            file_id,
            guide_id,
            label_dict,
            file_original_id,
            kind = 'human',
            task_type = 'draw',
            incoming_directory = None,
            flush_session = True)

Source from the content-addressed store, hash-verified

883
884 @staticmethod
885 def new(session,
886 job,
887 file_id,
888 guide_id,
889 label_dict,
890 file_original_id,
891 kind = 'human',
892 task_type = 'draw',
893 incoming_directory = None,
894 flush_session = True):
895 from shared.database.task.task_event import TaskEvent
896 task = Task()
897 session.add(task)
898
899 task.is_live = job.is_live
900
901 # # #
902 task.job_id = job.id
903 task.file_id = file_id
904 task.guide_id = guide_id
905 task.label_dict = label_dict
906 task.file_original_id = file_original_id
907 task.completion_directory_id = job.completion_directory_id
908 # For now both created and updated times should be the same.
909 task.time_created = datetime.datetime.utcnow()
910 task.time_updated = datetime.datetime.utcnow()
911 if incoming_directory:
912 task.incoming_directory_id = incoming_directory.id
913
914 if task_type == 'draw':
915 # Set draw tasks to be available instead of
916 # default of created
917 task.status = 'available'
918
919 # Cache from job
920 task.project_id = job.project_id
921 task.job_type = job.type
922 task.label_mode = job.label_mode
923 if flush_session:
924 session.flush()
925 # Have defaults
926 task.kind = kind
927 task.task_type = task_type
928
929 if job.stat_count_tasks is None:
930 job.stat_count_tasks = 1
931 else:
932 job.stat_count_tasks += 1
933
934 Event.new_deferred(
935 session = session,
936 kind = 'task_created',
937 project_id = task.project_id,
938 task_id = task.id,
939 wait_for_commit = True
940 )
941 TaskEvent.generate_task_creation_event(session = session, task = task, member = task.job.member_created)
942 session.add(job)

Callers 2

add_reviewerMethod · 0.45
add_assigneeMethod · 0.45

Calls 4

TaskClass · 0.85
new_deferredMethod · 0.80
addMethod · 0.45

Tested by

no test coverage detected