diff --git a/import_problem b/import_problem --- a/import_problem +++ b/import_problem @@ -32,8 +32,8 @@ end def copy_testcase(importing_test_dir,fname,dir,i) - system("cp #{importing_test_dir}/#{fname}.in #{input_filename(dir,i)}") - system("cp #{importing_test_dir}/#{fname}.sol #{answer_filename(dir,i)}") + FileUtils.cp("#{importing_test_dir}/#{fname}.in", "#{input_filename(dir,i)}") + FileUtils.cp("#{importing_test_dir}/#{fname}.sol", "#{answer_filename(dir,i)}") end def process_options(options) @@ -100,6 +100,12 @@ end while true end +def create_dir_if_not_exists(dir) + if ! FileTest.exists? dir + FileUtils.mkdir(dir) + end +end + def import_problem(ev_dir, problem, testcase_dir, num_testruns, raw_prefix, check_script, options) testrun_info = build_testrun_info_from_dir(num_testruns, testcase_dir, raw_prefix) @@ -113,9 +119,9 @@ # start working puts "creating directories" - system("mkdir #{problem_dir}") - system("mkdir #{problem_dir}/script") - system("mkdir #{problem_dir}/test_cases") + create_dir_if_not_exists("#{problem_dir}") + create_dir_if_not_exists("#{problem_dir}/script") + create_dir_if_not_exists("#{problem_dir}/test_cases") puts "copying testcases" @@ -132,7 +138,7 @@ puts "copy #{testcase_fname} to #{testcase_num}" - system("mkdir #{problem_dir}/test_cases/#{testcase_num}") + create_dir_if_not_exists("#{problem_dir}/test_cases/#{testcase_num}") copy_testcase("#{testcase_dir}",testcase_fname,"#{problem_dir}/test_cases/#{testcase_num}",testcase_num) num_testcases += 1 @@ -163,14 +169,14 @@ File.chmod(0755,"#{problem_dir}/script/check") - system("cp #{check_script_fname} #{problem_dir}/script/#{script_name}") + FileUtils.cp("#{check_script_fname}", "#{problem_dir}/script/#{script_name}") else if File.exists?(SCRIPT_DIR + "/templates/check.#{check_script}") check_script_fname = SCRIPT_DIR + "/templates/check.#{check_script}" else check_script_fname = check_script end - system("cp #{check_script_fname} #{problem_dir}/script/check") + FileUtils.cp("#{check_script_fname}", "#{problem_dir}/script/check") end # generating test_request directory @@ -185,8 +191,10 @@ cfg_file.puts test_request_all_test_cfg.result cfg_file.close - system("cp #{SCRIPT_DIR}/templates/check_empty #{ev_dir}/test_request/#{problem}/script/check") - system("cp #{SCRIPT_DIR}/templates/answer-1.txt #{ev_dir}/test_request/#{problem}/test_cases/1") + FileUtils.cp("#{SCRIPT_DIR}/templates/check_empty", + "#{ev_dir}/test_request/#{problem}/script/check") + FileUtils.cp("#{SCRIPT_DIR}/templates/answer-1.txt", + "#{ev_dir}/test_request/#{problem}/test_cases/1") puts "done" end