1010 DatasetSymlinkDTO ,
1111 InputDTO ,
1212 JobDTO ,
13+ JobTypeDTO ,
1314 LocationDTO ,
1415 OperationDTO ,
1516 OutputDTO ,
2526 ColumnLineageDTO ,
2627 DatasetSymlinkDTO ,
2728 JobDTO ,
29+ JobTypeDTO ,
2830 RunDTO ,
2931 OperationDTO ,
3032 InputDTO ,
@@ -56,6 +58,7 @@ def __init__(self):
5658 self ._locations : dict [tuple , LocationDTO ] = {}
5759 self ._datasets : dict [tuple , DatasetDTO ] = {}
5860 self ._dataset_symlinks : dict [tuple , DatasetSymlinkDTO ] = {}
61+ self ._job_types : dict [tuple , JobTypeDTO ] = {}
5962 self ._jobs : dict [tuple , JobDTO ] = {}
6063 self ._runs : dict [tuple , RunDTO ] = {}
6164 self ._operations : dict [tuple , OperationDTO ] = {}
@@ -71,6 +74,7 @@ def __repr__(self):
7174 f"locations={ len (self ._locations )} , "
7275 f"datasets={ len (self ._datasets )} , "
7376 f"dataset_symlinks={ len (self ._dataset_symlinks )} , "
77+ f"job_types={ len (self ._job_types )} , "
7478 f"jobs={ len (self ._jobs )} , "
7579 f"runs={ len (self ._runs )} , "
7680 f"operations={ len (self ._operations )} , "
@@ -109,8 +113,13 @@ def add_dataset_symlink(self, dataset_symlink: DatasetSymlinkDTO):
109113 dataset_symlink .to_dataset = self .add_dataset (dataset_symlink .to_dataset )
110114 return self ._add (self ._dataset_symlinks , dataset_symlink )
111115
116+ def add_job_type (self , job_type : JobTypeDTO ):
117+ return self ._add (self ._job_types , job_type )
118+
112119 def add_job (self , job : JobDTO ):
113120 job .location = self .add_location (job .location )
121+ if job .type :
122+ job .type = self .add_job_type (job .type )
114123 return self ._add (self ._jobs , job )
115124
116125 def add_run (self , run : RunDTO ):
@@ -171,9 +180,14 @@ def get_dataset_symlink(self, dataset_symlink_key: tuple) -> DatasetSymlinkDTO:
171180 dataset_symlink .to_dataset = self .get_dataset (dataset_symlink .to_dataset .unique_key )
172181 return dataset_symlink
173182
183+ def get_job_type (self , job_type_key : tuple ) -> JobTypeDTO :
184+ return self ._job_types [job_type_key ]
185+
174186 def get_job (self , job_key : tuple ) -> JobDTO :
175187 job = self ._jobs [job_key ]
176188 job .location = self .get_location (job .location .unique_key )
189+ if job .type :
190+ job .type = self .get_job_type (job .type .unique_key )
177191 return job
178192
179193 def get_run (self , run_key : tuple ) -> RunDTO :
@@ -222,6 +236,9 @@ def datasets(self) -> list[DatasetDTO]:
222236 def dataset_symlinks (self ) -> list [DatasetSymlinkDTO ]:
223237 return list (map (self .get_dataset_symlink , self ._dataset_symlinks ))
224238
239+ def job_types (self ) -> list [JobTypeDTO ]:
240+ return list (map (self .get_job_type , self ._job_types ))
241+
225242 def jobs (self ) -> list [JobDTO ]:
226243 return list (map (self .get_job , self ._jobs ))
227244
0 commit comments