@@ -215,76 +215,32 @@ def build(dir):
215215
216216
217217 if not os .path .exists (dir_path ):
218- if (platform .uname ()[0 ]== 'Windows' ):
219- if (out_dir == None or out_dir == "" ):
220- if (docker == 'true' ):
221- try :
222- output_bytes = subprocess .check_output (["makedocker" , makestudy_dir ], cwd = concore_path , shell = True )
223- output_str = output_bytes .decode ("utf-8" )
224- proc = 0
225- except subprocess .CalledProcessError as e :
226- output_str = f"Docker study creation failed with return code { e .returncode } (check duplicate directory)"
227- proc = 1
228- else :
229- try :
230- output_bytes = subprocess .check_output (["makestudy" , makestudy_dir ], cwd = concore_path , shell = True )
231- output_str = output_bytes .decode ("utf-8" )
232- proc = 0
233- except subprocess .CalledProcessError as e :
234- output_str = f"Study creation failed with return code { e .returncode } (check duplicate directory)"
235- proc = 1
236- else :
237- if (docker == 'true' ):
238- try :
239- output_bytes = subprocess .check_output (["makedocker" , makestudy_dir , out_dir ], cwd = concore_path , shell = True )
240- output_str = output_bytes .decode ("utf-8" )
241- proc = 0
242- except subprocess .CalledProcessError as e :
243- output_str = f"Docker study creation failed with return code { e .returncode } (check duplicate directory)"
244- proc = 1
245- else :
246- try :
247- output_bytes = subprocess .check_output (["makestudy" , makestudy_dir , out_dir ], cwd = concore_path , shell = True )
248- output_str = output_bytes .decode ("utf-8" )
249- proc = 0
250- except subprocess .CalledProcessError as e :
251- output_str = f"Study creation failed with return code { e .returncode } (check duplicate directory)"
252- proc = 1
218+ # Determine command name and error label based on docker flag
219+ if docker == 'true' :
220+ cmd_name = "makedocker"
221+ error_label = "Docker study"
253222 else :
254- if (out_dir == None or out_dir == "" ):
255- if (docker == 'true' ):
256- try :
257- output_bytes = subprocess .check_output ([r"./makedocker" , makestudy_dir ], cwd = concore_path )
258- output_str = output_bytes .decode ("utf-8" )
259- proc = 0
260- except subprocess .CalledProcessError as e :
261- output_str = f"Docker study creation failed with return code { e .returncode } (check duplicate directory)"
262- proc = 1
263- else :
264- try :
265- output_bytes = subprocess .check_output ([r"./makestudy" , makestudy_dir ], cwd = concore_path )
266- output_str = output_bytes .decode ("utf-8" )
267- proc = 0
268- except subprocess .CalledProcessError as e :
269- output_str = f"Study creation failed with return code { e .returncode } (check duplicate directory)"
270- proc = 1
271- else :
272- if (docker == 'true' ):
273- try :
274- output_bytes = subprocess .check_output ([r"./makedocker" , makestudy_dir , out_dir ], cwd = concore_path )
275- output_str = output_bytes .decode ("utf-8" )
276- proc = 0
277- except subprocess .CalledProcessError as e :
278- output_str = f"Docker study creation failed with return code { e .returncode } (check duplicate directory)"
279- proc = 1
280- else :
281- try :
282- output_bytes = subprocess .check_output ([r"./makestudy" , makestudy_dir , out_dir ], cwd = concore_path )
283- output_str = output_bytes .decode ("utf-8" )
284- proc = 0
285- except subprocess .CalledProcessError as e :
286- output_str = f"Study creation failed with return code { e .returncode } (check duplicate directory)"
287- proc = 1
223+ cmd_name = "makestudy"
224+ error_label = "Study"
225+
226+ # Build command list
227+ cmd = [cmd_name , makestudy_dir ]
228+ if out_dir != None and out_dir != "" :
229+ cmd .append (out_dir )
230+
231+ # OS-specific adjustments
232+ is_windows = platform .uname ()[0 ] == 'Windows'
233+ if not is_windows :
234+ cmd [0 ] = f"./{ cmd [0 ]} "
235+
236+ try :
237+ output_bytes = subprocess .check_output (cmd , cwd = concore_path , shell = is_windows )
238+ output_str = output_bytes .decode ("utf-8" )
239+ proc = 0
240+ except subprocess .CalledProcessError as e :
241+ output_str = f"{ error_label } creation failed with return code { e .returncode } (check duplicate directory)"
242+ proc = 1
243+
288244 if (proc == 0 ):
289245 resp = jsonify ({'message' : 'Directory successfully created' })
290246 resp .status_code = 201
0 commit comments