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:
Diff options:
Comments:
0 Commit comments
0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
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