summaryrefslogtreecommitdiff
path: root/lib/dataset.rb
diff options
context:
space:
mode:
authorroot <helma@in-silico.ch>2011-05-06 13:18:28 +0000
committerroot <helma@in-silico.ch>2011-05-06 13:18:28 +0000
commit4e01933dda7b56049f1c1216cb5895b10c10b4a4 (patch)
tree9d96352b36a9bf74c318c0c3b97f370db2dd0a71 /lib/dataset.rb
parent3341048f68fcb52963309002f24220d334b2b32b (diff)
request features in YAML format first (Dataset.load_features), chomp URIs in Dataset.all)
Diffstat (limited to 'lib/dataset.rb')
-rw-r--r--lib/dataset.rb10
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/dataset.rb b/lib/dataset.rb
index c61d86f..546eb2e 100644
--- a/lib/dataset.rb
+++ b/lib/dataset.rb
@@ -74,7 +74,7 @@ module OpenTox
# @param [optional,String] uri URI of the dataset service, defaults to service specified in configuration
# @return [Array] Array of dataset object without data (use one of the load_* methods to pull data from the server)
def self.all(uri=CONFIG[:services]["opentox-dataset"], subjectid=nil)
- RestClientWrapper.get(uri,{:accept => "text/uri-list",:subjectid => subjectid}).to_s.each_line.collect{|u| Dataset.new(u, subjectid)}
+ RestClientWrapper.get(uri,{:accept => "text/uri-list",:subjectid => subjectid}).to_s.each_line.collect{|u| Dataset.new(u.chomp, subjectid)}
end
# Load YAML representation into the dataset
@@ -158,8 +158,12 @@ module OpenTox
# Load and return only features from the dataset service
# @return [Hash] Features of the dataset
def load_features(subjectid=nil)
- parser = Parser::Owl::Dataset.new(@uri, subjectid)
- @features = parser.load_features(subjectid)
+ if (CONFIG[:yaml_hosts].include?(URI.parse(@uri).host))
+ @features = YAML.load(RestClientWrapper.get(File.join(@uri,"features"), {:accept => "application/x-yaml", :subjectid => subjectid}))
+ else
+ parser = Parser::Owl::Dataset.new(@uri, subjectid)
+ @features = parser.load_features(subjectid)
+ end
@features
end