Description:
fixed import error (thanks K.Siththa)
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r274:25b80877ebce - - 1 file changed: 2 inserted, 0 deleted

@@ -52,100 +52,102
52 52
53 53 extract_dir = File.join(GraderScript.raw_dir, @problem.name)
54 54 begin
55 55 Dir.mkdir extract_dir
56 56 rescue Errno::EEXIST
57 57 end
58 58
59 59 if ext=='.tar.gz' or ext=='.tgz'
60 60 cmd = "tar -zxvf #{testdata_filename} -C #{extract_dir}"
61 61 elsif ext=='.tar'
62 62 cmd = "tar -xvf #{testdata_filename} -C #{extract_dir}"
63 63 elsif ext=='.zip'
64 64 cmd = "unzip -o #{testdata_filename} -d #{extract_dir}"
65 65 else
66 66 return nil
67 67 end
68 68
69 69 system(cmd)
70 70
71 71 files = Dir["#{extract_dir}/**/*1*.in"]
72 72 return nil if files.length==0
73 73
74 74 File.delete(testdata_filename)
75 75
76 76 return File.dirname(files[0])
77 77 end
78 78
79 79 def save_testdata_file(tempfile)
80 80 ext = TestdataImporter.long_ext(tempfile.original_filename)
81 81 testdata_filename = File.join(Dir.tmpdir,"#{@problem.name}#{ext}")
82 82
83 83 return nil if tempfile==""
84 84
85 85 if tempfile.instance_of?(Tempfile)
86 86 tempfile.close
87 87 FileUtils.move(tempfile.path,testdata_filename)
88 88 else
89 89 File.open(testdata_filename, "wb") do |f|
90 90 f.write(tempfile.read)
91 91 end
92 92 end
93 93
94 94 return testdata_filename
95 95 end
96 96
97 97 def import_test_pairs(dirname)
98 98 test_num = 1
99 99 while FileTest.exists? "#{dirname}/#{test_num}.in"
100 100 in_filename = "#{dirname}/#{test_num}.in"
101 101 sol_filename = "#{dirname}/#{test_num}.sol"
102 102
103 103 break if not FileTest.exists? sol_filename
104 104
105 105 test_pair = TestPair.new(:input => open(in_filename).read,
106 106 :solution => open(sol_filename).read,
107 107 :problem => @problem)
108 108 break if not test_pair.save
109 109
110 110 test_num += 1
111 111 end
112 112 return test_num > 1
113 113 end
114 114
115 115 def import_problem_description(dirname)
116 116 html_files = Dir["#{dirname}/*.html"]
117 117 markdown_files = Dir["#{dirname}/*.md"] + Dir["#{dirname}/*.markdown"]
118 118 if (html_files.length != 0) or (markdown_files.length != 0)
119 119 description = @problem.description || Description.new
120 120
121 121 if html_files.length != 0
122 122 filename = html_files[0]
123 123 description.markdowned = false
124 124 else
125 125 filename = markdown_files[0]
126 126 description.markdowned = true
127 127 end
128 128
129 129 description.body = open(filename).read
130 130 description.save
131 131 @problem.description = description
132 132 @problem.save
133 133 return "\nProblem description imported from #{filename}."
134 134 else
135 135 return ''
136 136 end
137 137 end
138 138
139 139 def import_problem_pdf(dirname)
140 140 pdf_files = Dir["#{dirname}/*.pdf"]
141 141 if pdf_files.length != 0
142 142 filename = pdf_files[0]
143 143 out_filename = "#{Problem.download_file_basedir}/#{@problem.name}.pdf"
144 144 File.rename(filename, out_filename)
145 145 @problem.description_filename = "#{@problem.name}.pdf"
146 146 @problem.save
147 147 return "\nProblem pdf imported from #{filename}."
148 + else
149 + return ""
148 150 end
149 151 end
150 152
151 153 end
You need to be logged in to leave comments. Login now