Description:
changed test request uploaded dir to data/test_request/input git-svn-id: http://theory.cpe.ku.ac.th/grader/web/trunk@86 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

r38:d108852b6289 - - 2 files changed: 4 inserted, 2 deleted

@@ -20,45 +20,46
20 20 task.save!
21 21 end
22 22
23 23 task
24 24 end
25 25
26 26 # interfacing with form
27 27 def self.new_from_form_params(user,params)
28 28 test_request = TestRequest.new
29 29 test_request.user = user
30 30 problem = Problem.find(params[:problem_id])
31 31 test_request.problem = problem
32 32 test_request.submission =
33 33 Submission.find_by_user_problem_number(user.id,
34 34 problem.id,
35 35 params[:submission_number])
36 36 test_request.input_file_name = save_input_file(params[:input_file], user, problem)
37 37 test_request.submitted_at = Time.new
38 38 test_request.status_inqueue
39 39 test_request
40 40 end
41 41
42 42 protected
43 43 def self.input_file_name(user,problem)
44 + problem_name = (problem!=nil) ? problem.name : ""
44 45 begin
45 - tmpname = UPLOADED_INPUT_FILE_DIR + "/#{user.login}/#{problem.name}/#{rand(10000)}"
46 + tmpname = TEST_REQUEST_INPUT_FILE_DIR + "/#{user.login}/#{problem_name}/#{rand(10000)}"
46 47 end while File.exists?(tmpname)
47 48 tmpname
48 49 end
49 50
50 51 def self.save_input_file(tempfile, user, problem)
51 52 new_file_name = input_file_name(user,problem)
52 53 dirname = File.dirname(new_file_name)
53 54 FileUtils.mkdir_p(File.dirname(new_file_name)) if !File.exists?(dirname)
54 55 if tempfile.instance_of?(Tempfile)
55 56 tempfile.close
56 57 FileUtils.move(tempfile.path,new_file_name)
57 58 else
58 59 File.open(new_file_name, "wb") do |f|
59 60 f.write(tempfile.read)
60 61 end
61 62 end
62 63 new_file_name
63 64 end
64 65 end
@@ -38,25 +38,26
38 38 # Activate observers that should always be running
39 39 # config.active_record.observers = :cacher, :garbage_collector
40 40
41 41 # Make Active Record use UTC-base instead of local time
42 42 config.active_record.default_timezone = :utc
43 43
44 44 # See Rails::Configuration for more options
45 45 end
46 46
47 47 # Add new inflection rules using the following format
48 48 # (all these examples are active by default):
49 49 # Inflector.inflections do |inflect|
50 50 # inflect.plural /^(ox)$/i, '\1en'
51 51 # inflect.singular /^(ox)en/i, '\1'
52 52 # inflect.irregular 'person', 'people'
53 53 # inflect.uncountable %w( fish sheep )
54 54 # end
55 55
56 56 # Add new mime types for use in respond_to blocks:
57 57 # Mime::Type.register "text/richtext", :rtf
58 58 # Mime::Type.register "application/x-mobile", :mobile
59 59
60 60 # Include your application configuration below
61 61
62 - UPLOADED_INPUT_FILE_DIR = RAILS_ROOT + '/upload'
62 + TEST_REQUEST_INPUT_FILE_DIR = RAILS_ROOT + '/data/test_request/input'
63 + TEST_REQUEST_OUTPUT_FILE_DIR = RAILS_ROOT + '/data/test_request/output'
You need to be logged in to leave comments. Login now