From 2f6d5c75fc1fece5fc10cc7c45ad59cf6b820d64 Mon Sep 17 00:00:00 2001 From: Christoph Helma Date: Wed, 7 Mar 2012 17:13:48 +0000 Subject: error and dataset tests added, wait_for_task moved to URI.to_object --- lib/overwrite.rb | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) (limited to 'lib/overwrite.rb') 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 -- cgit v1.2.3