Description:
import_problem now remove carriage return from the input file
Commit status:
[Not Reviewed]
References:
Diff options:
Comments:
0 Commit comments
0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
r248:617a22a897aa - - 2 files changed: 8 inserted, 2 deleted
@@ -23,26 +23,29 | |||||
|
23 | def answer_filename(dir,i) |
|
23 | def answer_filename(dir,i) |
|
24 | "#{dir}/answer-#{i}.txt" |
|
24 | "#{dir}/answer-#{i}.txt" |
|
25 | end |
|
25 | end |
|
26 |
|
26 | ||
|
27 | def build_testrun_info_from_dir(num_testruns, importing_test_dir, raw_prefix='') |
|
27 | def build_testrun_info_from_dir(num_testruns, importing_test_dir, raw_prefix='') |
|
28 | filenames = Dir["#{importing_test_dir}/#{raw_prefix}*.in"].collect do |filename| |
|
28 | filenames = Dir["#{importing_test_dir}/#{raw_prefix}*.in"].collect do |filename| |
|
29 | File.basename((/(.*)\.in/.match(filename))[1]) |
|
29 | File.basename((/(.*)\.in/.match(filename))[1]) |
|
30 | end |
|
30 | end |
|
31 | build_testrun_info(num_testruns,filenames,raw_prefix) |
|
31 | build_testrun_info(num_testruns,filenames,raw_prefix) |
|
32 | end |
|
32 | end |
|
33 |
|
33 | ||
|
34 | def copy_testcase(importing_test_dir,fname,dir,i) |
|
34 | def copy_testcase(importing_test_dir,fname,dir,i) |
|
35 | - FileUtils.cp("#{importing_test_dir}/#{fname}.in", "#{input_filename(dir,i)}") |
|
35 | + #copy the file from importing dir and also remove carriage return |
|
36 | - FileUtils.cp("#{importing_test_dir}/#{fname}.sol", "#{answer_filename(dir,i)}") |
|
36 | + a = File.read("#{importing_test_dir}/#{fname}.in").gsub(/\r\n?/,"\n") |
|
|
37 | + File.write("#{input_filename(dir,i)}",a) | ||
|
|
38 | + b = File.read("#{importing_test_dir}/#{fname}.sol").gsub(/\r\n?/,"\n") | ||
|
|
39 | + File.write("#{answer_filename(dir,i)}",b) | ||
|
37 | end |
|
40 | end |
|
38 |
|
41 | ||
|
39 | def process_options(options) |
|
42 | def process_options(options) |
|
40 | i = 3 |
|
43 | i = 3 |
|
41 | while i<ARGV.length |
|
44 | while i<ARGV.length |
|
42 | if ARGV[i]=='-t' |
|
45 | if ARGV[i]=='-t' |
|
43 | options[:time_limit] = ARGV[i+1].to_f if ARGV.length>i+1 |
|
46 | options[:time_limit] = ARGV[i+1].to_f if ARGV.length>i+1 |
|
44 | i += 1 |
|
47 | i += 1 |
|
45 | end |
|
48 | end |
|
46 | if ARGV[i]=='-m' |
|
49 | if ARGV[i]=='-m' |
|
47 | options[:mem_limit] = ARGV[i+1].to_i if ARGV.length>i+1 |
|
50 | options[:mem_limit] = ARGV[i+1].to_i if ARGV.length>i+1 |
|
48 | i += 1 |
|
51 | i += 1 |
@@ -38,24 +38,27 | |||||
|
38 |
|
38 | ||
|
39 | def process_problem(prob,dry_run = false) |
|
39 | def process_problem(prob,dry_run = false) |
|
40 | prob.testcases.destroy_all |
|
40 | prob.testcases.destroy_all |
|
41 | testcases_root = File.expand_path(GRADER_ROOT+"/../ev/#{prob.name}/test_cases/") |
|
41 | testcases_root = File.expand_path(GRADER_ROOT+"/../ev/#{prob.name}/test_cases/") |
|
42 | num = 1 |
|
42 | num = 1 |
|
43 | puts "Processing problem #{prob.name}" |
|
43 | puts "Processing problem #{prob.name}" |
|
44 | loop do |
|
44 | loop do |
|
45 | file_root = testcases_root + "/#{num}/" |
|
45 | file_root = testcases_root + "/#{num}/" |
|
46 | puts " checking file #{file_root}" |
|
46 | puts " checking file #{file_root}" |
|
47 | break unless File.exists? file_root |
|
47 | break unless File.exists? file_root |
|
48 | input = File.read(file_root + "/input-#{num}.txt") |
|
48 | input = File.read(file_root + "/input-#{num}.txt") |
|
49 | answer = File.read(file_root + "/answer-#{num}.txt") |
|
49 | answer = File.read(file_root + "/answer-#{num}.txt") |
|
|
50 | + #we also remove carraige return | ||
|
|
51 | + input.gsub!(/\r\n?/,"\n") | ||
|
|
52 | + answer.gsub!(/\r\n?/,"\n") | ||
|
50 | puts " got test case ##{num} of size #{input.size} and #{answer.size}" |
|
53 | puts " got test case ##{num} of size #{input.size} and #{answer.size}" |
|
51 |
|
54 | ||
|
52 | #THIS IS JUST A PLACE HOLDER |
|
55 | #THIS IS JUST A PLACE HOLDER |
|
53 | group = num #this is wrong!!! fix it!! |
|
56 | group = num #this is wrong!!! fix it!! |
|
54 | score = 10 |
|
57 | score = 10 |
|
55 | #BEWARE |
|
58 | #BEWARE |
|
56 |
|
59 | ||
|
57 | prob.testcases.create(input: input,sol: answer, num: num, score:score,group: group) unless dry_run |
|
60 | prob.testcases.create(input: input,sol: answer, num: num, score:score,group: group) unless dry_run |
|
58 | num += 1 |
|
61 | num += 1 |
|
59 | end |
|
62 | end |
|
60 | end |
|
63 | end |
|
61 |
|
64 |
You need to be logged in to leave comments.
Login now