Description:
testdata import now looks for *1*.in when finding raw dir git-svn-id: http://theory.cpe.ku.ac.th/grader/web/trunk@437 6386c4cd-e34a-4fa8-8920-d93eb39b512e
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r206:14c27e1a6e89 - - 1 file changed: 1 inserted, 1 deleted

@@ -28,49 +28,49
28
28
29 def self.extract(problem_name, tempfile)
29 def self.extract(problem_name, tempfile)
30 testdata_filename = TestdataImporter.save_testdata_file(problem_name,
30 testdata_filename = TestdataImporter.save_testdata_file(problem_name,
31 tempfile)
31 tempfile)
32 ext = TestdataImporter.long_ext(tempfile.original_filename)
32 ext = TestdataImporter.long_ext(tempfile.original_filename)
33
33
34 extract_dir = File.join(GraderScript.raw_dir, problem_name)
34 extract_dir = File.join(GraderScript.raw_dir, problem_name)
35 begin
35 begin
36 Dir.mkdir extract_dir
36 Dir.mkdir extract_dir
37 rescue Errno::EEXIST
37 rescue Errno::EEXIST
38 end
38 end
39
39
40 if ext=='.tar.gz' or ext=='.tgz'
40 if ext=='.tar.gz' or ext=='.tgz'
41 cmd = "tar -zxvf #{testdata_filename} -C #{extract_dir}"
41 cmd = "tar -zxvf #{testdata_filename} -C #{extract_dir}"
42 elsif ext=='.tar'
42 elsif ext=='.tar'
43 cmd = "tar -xvf #{testdata_filename} -C #{extract_dir}"
43 cmd = "tar -xvf #{testdata_filename} -C #{extract_dir}"
44 elsif ext=='.zip'
44 elsif ext=='.zip'
45 cmd = "unzip -o #{testdata_filename} -d #{extract_dir}"
45 cmd = "unzip -o #{testdata_filename} -d #{extract_dir}"
46 else
46 else
47 return nil
47 return nil
48 end
48 end
49
49
50 system(cmd)
50 system(cmd)
51
51
52 - files = Dir["#{extract_dir}/**/1*.in"]
52 + files = Dir["#{extract_dir}/**/*1*.in"]
53 return nil if files.length==0
53 return nil if files.length==0
54
54
55 return File.dirname(files[0])
55 return File.dirname(files[0])
56 end
56 end
57
57
58 def self.save_testdata_file(problem_name, tempfile)
58 def self.save_testdata_file(problem_name, tempfile)
59 ext = TestdataImporter.long_ext(tempfile.original_filename)
59 ext = TestdataImporter.long_ext(tempfile.original_filename)
60 testdata_filename = File.join(Dir.tmpdir,"#{problem_name}#{ext}")
60 testdata_filename = File.join(Dir.tmpdir,"#{problem_name}#{ext}")
61
61
62 return nil if tempfile==""
62 return nil if tempfile==""
63
63
64 if tempfile.instance_of?(Tempfile)
64 if tempfile.instance_of?(Tempfile)
65 tempfile.close
65 tempfile.close
66 FileUtils.move(tempfile.path,testdata_filename)
66 FileUtils.move(tempfile.path,testdata_filename)
67 else
67 else
68 File.open(testdata_filename, "wb") do |f|
68 File.open(testdata_filename, "wb") do |f|
69 f.write(tempfile.read)
69 f.write(tempfile.read)
70 end
70 end
71 end
71 end
72
72
73 return testdata_filename
73 return testdata_filename
74 end
74 end
75
75
76 end
76 end
You need to be logged in to leave comments. Login now