summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrautenberg <rautenberg@in-silico.ch>2012-03-21 09:32:18 +0100
committerrautenberg <rautenberg@in-silico.ch>2012-03-21 09:32:18 +0100
commit8013002d2256a2e86982c2d0ef8358ad30bc9252 (patch)
tree6e25e5d92ca29cd46213d593db14d5538630d5e1
parenta6d1725caa7d350f2526ea82af3478a12a34f93d (diff)
parentfc990e6dae8af7cfdf7d12b4e1d9ccd3b557418a (diff)
Merge branch 'development' of github.com:opentox/opentox-client into development
-rw-r--r--README.markdown5
-rw-r--r--lib/error.rb5
-rw-r--r--lib/opentox-client.rb2
-rw-r--r--lib/overwrite.rb4
-rw-r--r--lib/task.rb1
-rw-r--r--opentox-client.gemspec4
6 files changed, 15 insertions, 6 deletions
diff --git a/README.markdown b/README.markdown
index f4e20f4..41b7a28 100644
--- a/README.markdown
+++ b/README.markdown
@@ -3,6 +3,11 @@ opentox-ruby-minimal
Thin Ruby wrapper for the [OpenTox](http://www.opentox.org) REST API
+Dependencies
+------------
+
+ libraptor1-dev
+
Installation
------------
diff --git a/lib/error.rb b/lib/error.rb
index cc87f47..e12f140 100644
--- a/lib/error.rb
+++ b/lib/error.rb
@@ -45,8 +45,7 @@ module OpenTox
OpenTox.const_set klass,c
# define global methods for raising errors, eg. bad_request_error
- Object.send(:define_method, klass.underscore.to_sym) do |message|
- defined?(@uri) ? uri = @uri : uri=nil
+ Object.send(:define_method, klass.underscore.to_sym) do |message,uri=nil|
raise c, message, uri
end
end
@@ -65,7 +64,6 @@ module OpenTox
class ErrorReport
def initialize http_code, error
@http_code = http_code
- #@report = report#.to_yaml
@report = {}
@report[RDF::OT.actor] = error.uri.to_s
@report[RDF::OT.message] = error.message.to_s
@@ -95,6 +93,7 @@ module OpenTox
# TODO: not used for turtle
# http://rdf.rubyforge.org/RDF/Writer.html#
writer.prefix :ot, RDF::URI('http://www.opentox.org/api/1.2#')
+ writer.prefix :ot1_1, RDF::URI('http://www.opentox.org/api/1.1#')
subject = RDF::Node.new
@report.each do |predicate,object|
writer << [subject, predicate, object] if object
diff --git a/lib/opentox-client.rb b/lib/opentox-client.rb
index 8616995..dec3512 100644
--- a/lib/opentox-client.rb
+++ b/lib/opentox-client.rb
@@ -26,6 +26,8 @@ FALSE_REGEXP = /^(false|inactive|0|0.0|low tox|deactivating|non-carcinogen|non-m
require File.join(File.dirname(__FILE__),"overwrite.rb")
require File.join(File.dirname(__FILE__),"error.rb")
require File.join(File.dirname(__FILE__),"rest-client-wrapper.rb")
+require File.join(File.dirname(__FILE__),"authorization.rb")
+require File.join(File.dirname(__FILE__),"policy.rb")
require File.join(File.dirname(__FILE__),"otlogger.rb") # avoid require conflicts with logger
require File.join(File.dirname(__FILE__),"opentox.rb")
require File.join(File.dirname(__FILE__),"task.rb")
diff --git a/lib/overwrite.rb b/lib/overwrite.rb
index 97c35aa..e3f72ad 100644
--- a/lib/overwrite.rb
+++ b/lib/overwrite.rb
@@ -64,10 +64,8 @@ module Kernel
stdout = stdout_stream.read
stderr = stderr_stream.read
end
- raise stderr.strip if !status.success?
+ internal_server_error stdout + stderr if !status.success?
return stdout
- rescue Exception
- internal_server_error $!
end
alias_method :system!, :system
diff --git a/lib/task.rb b/lib/task.rb
index 7452012..f19a918 100644
--- a/lib/task.rb
+++ b/lib/task.rb
@@ -15,6 +15,7 @@ module OpenTox
result_uri = yield
task.completed result_uri
rescue
+ puts $!.report.to_yaml
RestClientWrapper.put(File.join(task.uri,'Error'),{:errorReport => $!.report.to_yaml}) if $!.respond_to? :report
task.kill
end
diff --git a/opentox-client.gemspec b/opentox-client.gemspec
index 198a6ed..52456a5 100644
--- a/opentox-client.gemspec
+++ b/opentox-client.gemspec
@@ -24,4 +24,8 @@ Gem::Specification.new do |s|
s.add_runtime_dependency "rdf"
s.add_runtime_dependency "rdf-raptor"
s.add_runtime_dependency "open4"
+
+ # external requirements
+ ["libraptor-dev"].each{|r| s.requirements << r}
+ s.post_install_message = "Please check the version of your libraptor library, if installation of rdf.rb fails"
end