@@ -131,11 +131,11 @@ def serialize(self):
131131 'review_by_human_freqeuncy' : self .review_by_human_freqeuncy ,
132132 'label_mode' : self .label_mode ,
133133 'passes_per_file' : self .passes_per_file ,
134- 'file_count' : self .file_count ,
135134 'attached_directories_dict' : self .attached_directories_dict ,
136135 'launch_datetime' : self .launch_datetime ,
137136 'label_file_list' : label_file_list ,
138- 'member_list_ids' : self .member_list_ids
137+ 'member_list_ids' : self .member_list_ids ,
138+ 'tag_list' : self .tag_list
139139 }
140140
141141 def new (self ,
@@ -150,15 +150,13 @@ def new(self,
150150 review_by_human_freqeuncy = None ,
151151 label_mode = None ,
152152 passes_per_file = None ,
153- file_list = None ,
154153 guide = None ,
155154 launch_datetime = None ,
156- file_count = None ,
157- label_file_list = None ,
158155 sync_directories = [],
159156 single_copy_directories = [],
160157 members_list_ids = [],
161158 auto_launch = True ,
159+ tag_list = [],
162160 ):
163161 """
164162
@@ -178,6 +176,10 @@ def new(self,
178176 raise ValueError ('Please provide at least one member_id in members_list_ids.' )
179177 job = Job (client = self .client )
180178
179+ if label_schema_id is None :
180+ if self .client .label_schema_list :
181+ label_schema_id = self .client .label_schema_list [0 ].get ('id' )
182+
181183 job .name = name
182184 job .instance_type = instance_type
183185 job .share = share
@@ -189,10 +191,10 @@ def new(self,
189191 job .label_mode = label_mode
190192 job .passes_per_file = passes_per_file
191193 job .launch_datetime = launch_datetime
192- job .label_file_list = label_file_list
193194 job .label_schema_id = label_schema_id
194195 job .attached_directories = []
195196 job .member_list_ids = members_list_ids
197+ job .tag_list = tag_list
196198
197199 if len (sync_directories ) == 0 and len (single_copy_directories ) == 0 :
198200 raise ValueError (
@@ -206,12 +208,6 @@ def new(self,
206208
207209 job .attached_directories_dict = {'attached_directories_list' : self .attached_directories }
208210
209- if not file_count :
210- if file_list :
211- file_count = len (file_list )
212-
213- job .file_count = file_count
214-
215211 endpoint = "/api/v1/project/{}/job/new" .format (self .client .project_string_id )
216212
217213 response = self .client .session .post (
@@ -226,12 +222,6 @@ def new(self,
226222 # TODO review better way to update fields
227223 job .id = data ["job" ]["id" ]
228224
229- if file_list :
230- # Careful we want to call job here not self
231- # Since job will have a different id
232- # self is constructor
233- job .file_update (file_list = file_list )
234-
235225 if guide :
236226 job .guide_update (guide = guide )
237227
@@ -248,53 +238,7 @@ def new(self,
248238
249239 return job
250240
251- def file_update (
252- self ,
253- file_list ,
254- add_or_remove = "add"
255- ):
256- """
257-
258- Arguments
259- self,
260- file_list, list of files,
261- add_or_remove, either "add" or "remove"
262-
263- Expects
264-
265- Returns
266-
267- Assumptions
268-
269- The API will use the project default if None is supplied
270- but if we are not in the default we must supply valid
271- directory_id
272-
273- Otherwise when it checks permissions it will error
274- ie {"file_link":"File link not in incoming directory"}
275-
276- """
277-
278- endpoint = "/api/v1/project/" + self .client .project_string_id + \
279- "/job/file/attach"
280-
281- file_list = [file .serialize () for file in file_list ]
282-
283- update_dict = {
284- 'directory_id' : self .client .directory_id ,
285- 'file_list_selected' : file_list ,
286- 'job_id' : self .id ,
287- 'add_or_remove' : add_or_remove }
288-
289- response = self .client .session .post (self .client .host + endpoint ,
290- json = update_dict )
291-
292- self .client .handle_errors (response )
293-
294- data = response .json ()
295241
296- if data ["log" ]["success" ] == True :
297- print ("File update success" )
298242
299243 def launch (
300244 self
0 commit comments