MCPcopy
hub / github.com/diffgram/diffgram / create_new_export

Function create_new_export

shared/export/export_create.py:31–146  ·  view source on GitHub ↗
(session: Session,
                      project: Project,
                      source: str = None,
                      task_id: int = None,
                      job_id: int = None,
                      directory_id: int = None,
                      member_id: int = None,
                      file_comparison_mode: str = None,
                      kind: str = None,
                      masks: str = None,
                      ann_is_complete: bool = False,
                      wait_for_export_generation: bool = False,
                      return_type: str = 'data',
                      log: dict = regular_log.default())

Source from the content-addressed store, hash-verified

29
30
31def create_new_export(session: Session,
32 project: Project,
33 source: str = None,
34 task_id: int = None,
35 job_id: int = None,
36 directory_id: int = None,
37 member_id: int = None,
38 file_comparison_mode: str = None,
39 kind: str = None,
40 masks: str = None,
41 ann_is_complete: bool = False,
42 wait_for_export_generation: bool = False,
43 return_type: str = 'data',
44 log: dict = regular_log.default()):
45 project_string_id = project.project_string_id
46 if source == "task":
47
48 task = Task.get_by_id(
49 session = session,
50 task_id = task_id
51 )
52 if task is None:
53 log["error"]["task_id"] = "Invalid task id"
54 return False, log
55 job = task.job
56
57 elif source == "job":
58 job = Job.get_by_id(session, job_id)
59
60 # need directory for label stuff right
61 directory = None
62
63 if source in ["task", "job"]:
64 Job_permissions.check_job_after_project_already_valid(
65 job = job,
66 project = project)
67
68 directory = job.completion_directory
69 # need directory for label stuff right
70 if not directory:
71 directory = WorkingDir.get_with_fallback(
72 session = session,
73 project = project,
74 directory_id = directory_id)
75
76 if directory is None:
77 log["error"]["directory"] = "Invalid directory"
78 return False, log
79
80 member = Member.get_by_id(session, member_id)
81
82 log = check_export_billing(
83 session = session,
84 project = project,
85 directory = directory,
86 member = member,
87 log = log)
88

Callers 2

web_export_to_fileFunction · 0.90
execute_actionMethod · 0.90

Calls 11

serializeMethod · 0.95
check_export_billingFunction · 0.90
ExportClass · 0.90
export_view_coreFunction · 0.90
export_web_coreFunction · 0.85
get_with_fallbackMethod · 0.80
get_by_idMethod · 0.45
addMethod · 0.45
startMethod · 0.45

Tested by

no test coverage detected