diff options
author | Christoph Helma <helma@in-silico.ch> | 2012-03-07 17:13:48 +0000 |
---|---|---|
committer | Christoph Helma <helma@in-silico.ch> | 2012-03-07 17:13:48 +0000 |
commit | 2f6d5c75fc1fece5fc10cc7c45ad59cf6b820d64 (patch) | |
tree | f3fdad09917e6ba537d049215221545709d721fd /lib/overwrite.rb | |
parent | 8fc11578aadcf1e7d152764c926e12e553bd8d65 (diff) |
error and dataset tests added, wait_for_task moved to URI.to_object
Diffstat (limited to 'lib/overwrite.rb')
-rw-r--r-- | lib/overwrite.rb | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/lib/overwrite.rb b/lib/overwrite.rb index f0dcda9..c7a1d43 100644 --- a/lib/overwrite.rb +++ b/lib/overwrite.rb @@ -23,8 +23,13 @@ module URI end def self.accessible? uri, subjectid=nil - Net::HTTP.get_response(URI.parse(uri)) - true + if URI.task? uri + # just ry to get a response, valid tasks may return codes > 400 + Net::HTTP.get_response(URI.parse(uri)) + true + else + Net::HTTP.get_response(URI.parse(uri)).code.to_i < 400 + end rescue false end @@ -36,5 +41,23 @@ module URI false end + def self.to_object uri, wait=true + + # TODO add waiting task + if task? uri and wait + t = OpenTox::Task.new(uri) + t.wait + uri = t.resultURI + end + + klass = + subjectid ? eval("#{self}.new(\"#{uri}\", #{subjectid})") : eval("#{self}.new(\"#{uri}\")") + end + end +class File + def mime_type + `file -ib #{self.path}`.chomp + end +end |