@@ -190,76 +190,32 @@ def build(dir):
190190
191191
192192 if not os .path .exists (dir_path ):
193- if (platform .uname ()[0 ]== 'Windows' ):
194- if (out_dir == None or out_dir == "" ):
195- if (docker == 'true' ):
196- try :
197- output_bytes = subprocess .check_output (["makedocker" , makestudy_dir ], cwd = concore_path , shell = True )
198- output_str = output_bytes .decode ("utf-8" )
199- proc = 0
200- except subprocess .CalledProcessError as e :
201- output_str = f"Docker study creation failed with return code { e .returncode } (check duplicate directory)"
202- proc = 1
203- else :
204- try :
205- output_bytes = subprocess .check_output (["makestudy" , makestudy_dir ], cwd = concore_path , shell = True )
206- output_str = output_bytes .decode ("utf-8" )
207- proc = 0
208- except subprocess .CalledProcessError as e :
209- output_str = f"Study creation failed with return code { e .returncode } (check duplicate directory)"
210- proc = 1
211- else :
212- if (docker == 'true' ):
213- try :
214- output_bytes = subprocess .check_output (["makedocker" , makestudy_dir , out_dir ], cwd = concore_path , shell = True )
215- output_str = output_bytes .decode ("utf-8" )
216- proc = 0
217- except subprocess .CalledProcessError as e :
218- output_str = f"Docker study creation failed with return code { e .returncode } (check duplicate directory)"
219- proc = 1
220- else :
221- try :
222- output_bytes = subprocess .check_output (["makestudy" , makestudy_dir , out_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"Study creation failed with return code { e .returncode } (check duplicate directory)"
227- proc = 1
193+ # Determine command name and error label based on docker flag
194+ if docker == 'true' :
195+ cmd_name = "makedocker"
196+ error_label = "Docker study"
228197 else :
229- if (out_dir == None or out_dir == "" ):
230- if (docker == 'true' ):
231- try :
232- output_bytes = subprocess .check_output ([r"./makedocker" , makestudy_dir ], cwd = concore_path )
233- output_str = output_bytes .decode ("utf-8" )
234- proc = 0
235- except subprocess .CalledProcessError as e :
236- output_str = f"Docker study creation failed with return code { e .returncode } (check duplicate directory)"
237- proc = 1
238- else :
239- try :
240- output_bytes = subprocess .check_output ([r"./makestudy" , makestudy_dir ], cwd = concore_path )
241- output_str = output_bytes .decode ("utf-8" )
242- proc = 0
243- except subprocess .CalledProcessError as e :
244- output_str = f"Study creation failed with return code { e .returncode } (check duplicate directory)"
245- proc = 1
246- else :
247- if (docker == 'true' ):
248- try :
249- output_bytes = subprocess .check_output ([r"./makedocker" , makestudy_dir , out_dir ], cwd = concore_path )
250- output_str = output_bytes .decode ("utf-8" )
251- proc = 0
252- except subprocess .CalledProcessError as e :
253- output_str = f"Docker study creation failed with return code { e .returncode } (check duplicate directory)"
254- proc = 1
255- else :
256- try :
257- output_bytes = subprocess .check_output ([r"./makestudy" , makestudy_dir , out_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"Study creation failed with return code { e .returncode } (check duplicate directory)"
262- proc = 1
198+ cmd_name = "makestudy"
199+ error_label = "Study"
200+
201+ # Build command list
202+ cmd = [cmd_name , makestudy_dir ]
203+ if out_dir != None and out_dir != "" :
204+ cmd .append (out_dir )
205+
206+ # OS-specific adjustments
207+ is_windows = platform .uname ()[0 ] == 'Windows'
208+ if not is_windows :
209+ cmd [0 ] = f"./{ cmd [0 ]} "
210+
211+ try :
212+ output_bytes = subprocess .check_output (cmd , cwd = concore_path , shell = is_windows )
213+ output_str = output_bytes .decode ("utf-8" )
214+ proc = 0
215+ except subprocess .CalledProcessError as e :
216+ output_str = f"{ error_label } creation failed with return code { e .returncode } (check duplicate directory)"
217+ proc = 1
218+
263219 if (proc == 0 ):
264220 resp = jsonify ({'message' : 'Directory successfully created' })
265221 resp .status_code = 201
0 commit comments