Description:
removes imported testdata file after extracted
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r270:6fd950650700 - - 1 file changed: 2 inserted, 0 deleted

@@ -49,48 +49,50
49 testdata_filename = save_testdata_file(tempfile)
49 testdata_filename = save_testdata_file(tempfile)
50 ext = TestdataImporter.long_ext(tempfile.original_filename)
50 ext = TestdataImporter.long_ext(tempfile.original_filename)
51
51
52 extract_dir = File.join(GraderScript.raw_dir, @problem.name)
52 extract_dir = File.join(GraderScript.raw_dir, @problem.name)
53 begin
53 begin
54 Dir.mkdir extract_dir
54 Dir.mkdir extract_dir
55 rescue Errno::EEXIST
55 rescue Errno::EEXIST
56 end
56 end
57
57
58 if ext=='.tar.gz' or ext=='.tgz'
58 if ext=='.tar.gz' or ext=='.tgz'
59 cmd = "tar -zxvf #{testdata_filename} -C #{extract_dir}"
59 cmd = "tar -zxvf #{testdata_filename} -C #{extract_dir}"
60 elsif ext=='.tar'
60 elsif ext=='.tar'
61 cmd = "tar -xvf #{testdata_filename} -C #{extract_dir}"
61 cmd = "tar -xvf #{testdata_filename} -C #{extract_dir}"
62 elsif ext=='.zip'
62 elsif ext=='.zip'
63 cmd = "unzip -o #{testdata_filename} -d #{extract_dir}"
63 cmd = "unzip -o #{testdata_filename} -d #{extract_dir}"
64 else
64 else
65 return nil
65 return nil
66 end
66 end
67
67
68 system(cmd)
68 system(cmd)
69
69
70 files = Dir["#{extract_dir}/**/*1*.in"]
70 files = Dir["#{extract_dir}/**/*1*.in"]
71 return nil if files.length==0
71 return nil if files.length==0
72
72
73 + File.delete(testdata_filename)
74 +
73 return File.dirname(files[0])
75 return File.dirname(files[0])
74 end
76 end
75
77
76 def save_testdata_file(tempfile)
78 def save_testdata_file(tempfile)
77 ext = TestdataImporter.long_ext(tempfile.original_filename)
79 ext = TestdataImporter.long_ext(tempfile.original_filename)
78 testdata_filename = File.join(Dir.tmpdir,"#{@problem.name}#{ext}")
80 testdata_filename = File.join(Dir.tmpdir,"#{@problem.name}#{ext}")
79
81
80 return nil if tempfile==""
82 return nil if tempfile==""
81
83
82 if tempfile.instance_of?(Tempfile)
84 if tempfile.instance_of?(Tempfile)
83 tempfile.close
85 tempfile.close
84 FileUtils.move(tempfile.path,testdata_filename)
86 FileUtils.move(tempfile.path,testdata_filename)
85 else
87 else
86 File.open(testdata_filename, "wb") do |f|
88 File.open(testdata_filename, "wb") do |f|
87 f.write(tempfile.read)
89 f.write(tempfile.read)
88 end
90 end
89 end
91 end
90
92
91 return testdata_filename
93 return testdata_filename
92 end
94 end
93
95
94 def import_test_pairs(dirname)
96 def import_test_pairs(dirname)
95 test_num = 1
97 test_num = 1
96 while FileTest.exists? "#{dirname}/#{test_num}.in"
98 while FileTest.exists? "#{dirname}/#{test_num}.in"
You need to be logged in to leave comments. Login now