diff options
-rw-r--r-- | Rakefile | 2 | ||||
-rw-r--r-- | application.rb | 26 |
2 files changed, 19 insertions, 9 deletions
@@ -2,7 +2,7 @@ require 'rubygems' require 'rake' require 'tasks/opentox' -@gems = "sinatra emk-sinatra-url-for builder opentox-ruby-api-wrapper" +@gems = "sinatra emk-sinatra-url-for opentox-ruby-api-wrapper" desc "Run local tests" task :test do diff --git a/application.rb b/application.rb index 0702758..c7ad2a4 100644 --- a/application.rb +++ b/application.rb @@ -1,5 +1,5 @@ require 'rubygems' -gem 'opentox-ruby-api-wrapper', '= 1.4.0' +gem 'opentox-ruby-api-wrapper', '= 1.5.0' require 'opentox-ruby-api-wrapper' #require 'sinatra/respond_to' #Sinatra::Application.register Sinatra::RespondTo @@ -18,12 +18,19 @@ class Dataset def to_owl data = YAML.load(yaml) - owl = OpenTox::Owl.new 'Dataset', uri + owl = OpenTox::Owl.create 'Dataset', uri + owl.set "title", data.title + #owl.set "source", data.source +=begin ['title', 'source'].each do |method| - eval "owl.#{method} = data.#{method}" + #eval "owl.#{method} = data.#{method}" + owl.set(method, "data.#{method}" end - data.data.each do |compound,features| - owl.add_data_entries compound,features +=end + if data.data + data.data.each do |compound,features| + owl.add_data_entries compound,features + end end owl.rdf end @@ -60,10 +67,10 @@ get '/:id' do begin dataset = Dataset.get(params[:id]) rescue => e - LOGGER.error e.message - LOGGER.warn e.backtrace + raise e.message + e.backtrace halt 404, "Dataset #{params[:id]} not found." end + halt 404, "Dataset #{params[:id]} not found." if dataset.nil? # not sure how an empty cataset can be returned, but if this happens stale processes keep runing at 100% cpo case accept when /rdf/ # redland sends text/rdf instead of application/rdf+xml response['Content-Type'] = 'application/rdf+xml' @@ -134,7 +141,9 @@ post '/?' do halt 404, "MIME type \"#{request.content_type}\" not supported." end begin - dataset.save + #dataset.owl = d.rdf + #dataset.uri = uri + raise "saving failed: "+dataset.errors.inspect unless dataset.save rescue => e LOGGER.error e.message LOGGER.info e.backtrace @@ -157,6 +166,7 @@ delete '/:id/?' do end delete '/?' do + Dataset.all.each do |d| begin File.delete d.file |