diff options
author | Christoph Helma <helma@in-silico.de> | 2009-08-17 11:11:40 +0200 |
---|---|---|
committer | Christoph Helma <helma@in-silico.de> | 2009-08-17 11:11:40 +0200 |
commit | 8259dffd02975beddd91a69b086f94402e540ebd (patch) | |
tree | 00c63b84caa3458b2f4bfea9a6391dcfbfe3f2e9 | |
parent | af0d1ebb1511ca4da47b4c69db7b6861a8fa3d70 (diff) |
production logging enabled, put instead of post for dataset additions
-rw-r--r-- | application.rb | 44 | ||||
-rw-r--r-- | config.ru | 7 |
2 files changed, 31 insertions, 20 deletions
diff --git a/application.rb b/application.rb index 60e727f..e100b1f 100644 --- a/application.rb +++ b/application.rb @@ -1,5 +1,5 @@ ## SETUP -[ 'rubygems', 'sinatra', 'sinatra/url_for', 'dm-core', 'dm-more', 'builder', 'csv', 'opentox-ruby-api-wrapper' ].each do |lib| +[ 'rubygems', 'sinatra', 'sinatra/url_for', 'dm-core', 'dm-more', 'builder', 'opentox-ruby-api-wrapper' ].each do |lib| require lib end @@ -8,8 +8,8 @@ end class Dataset include DataMapper::Resource property :id, Serial - property :name, String#, :unique => true - property :finished, Boolean, :default => true + property :name, String + property :finished, Boolean, :default => false has n, :associations end @@ -39,7 +39,6 @@ end get '/:id' do halt 404, "Dataset #{params[:id]} not found." unless dataset = Dataset.get(params[:id]) - #halt 202, "Still uploading data to dataset #{params[:id]} , please try again later." unless dataset.finished halt 202, dataset.to_yaml unless dataset.finished dataset.to_yaml =begin @@ -149,9 +148,7 @@ post '/?' do dataset = Dataset.create :name => params[:name] if params[:file] - dataset.update_attributes(:finished => false) Spork.spork do - #CSV.foreach(params[:file][:tempfile].path) do |record| File.open(params[:file][:tempfile].path).each_line do |line| record = line.chomp.split(/,\s*/) compound = OpenTox::Compound.new :smiles => record[0] @@ -160,11 +157,26 @@ post '/?' do end dataset.update_attributes(:finished => true) end + +=begin + elsif params[:data] + puts params[:data] + dataset = Dataset.create :name => params[:name] + #Spork.spork do + YAML.load(params[:data]).each do |record| + compound = OpenTox::Compound.new :uri => record[0] + feature = OpenTox::Feature.new :uri => record[1] + puts compound + "\t" , feature + Association.create(:compound_uri => compound.uri, :feature_uri => feature.uri, :dataset_id => dataset.id) + end + dataset.update_attributes(:finished => true) + #end +=end end url_for("/", :full) + dataset.id.to_s end -post '/:id' do +put '/:id' do #protected! halt 404, "Dataset #{params[:id]} not found." unless dataset = Dataset.get(params[:id]) compound_uri = params[:compound_uri] @@ -173,6 +185,11 @@ post '/:id' do url_for("/", :full) + dataset.id.to_s end +put '/:id/finished' do + halt 404, "Dataset #{params[:id]} not found." unless dataset = Dataset.get(params[:id]) + dataset.update_attributes(:finished => true) +end + delete '/:id' do # dangerous, because other datasets might refer to it #protected! @@ -181,16 +198,3 @@ delete '/:id' do dataset.destroy "Successfully deleted dataset #{params[:id]}." end - -=begin -delete '/:id/associations' do - #protected! - begin - dataset = Dataset.get params[:id] - rescue - halt 404, "Dataset #{params[:id]} not found." - end - dataset.associations.each { |a| a.destroy } - "Associations for dataset #{params[:id]} successfully deleted." -end -=end @@ -1,5 +1,12 @@ require 'rubygems' require 'sinatra' require 'application.rb' + +if ENV["RACK_ENV"] == 'production' + FileUtils.mkdir_p 'log' unless File.exists?('log') + log = File.new("log/sinatra.log", "a") + $stdout.reopen(log) + $stderr.reopen(log) +end run Sinatra::Application |