myexperiment-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[myexperiment-hackers] [3263] branches/wf4ever/app/models/pack.rb: chang


From: noreply
Subject: [myexperiment-hackers] [3263] branches/wf4ever/app/models/pack.rb: changes to cope with packs without an ro_uri
Date: Fri, 14 Dec 2012 16:21:04 +0000 (UTC)

Revision
3263
Author
dgc
Date
2012-12-14 16:21:04 +0000 (Fri, 14 Dec 2012)

Log Message

changes to cope with packs without an ro_uri

Modified Paths

Diff

Modified: branches/wf4ever/app/models/pack.rb (3262 => 3263)


--- branches/wf4ever/app/models/pack.rb	2012-12-14 15:07:26 UTC (rev 3262)
+++ branches/wf4ever/app/models/pack.rb	2012-12-14 16:21:04 UTC (rev 3263)
@@ -55,35 +55,44 @@
 
   def initialize(pack)
     self.pack = pack
-    session = ROSRS::Session.new(self.pack.ro_uri, Conf.rodl_bearer_token)
-    manifest_uri, @manifest = session.get_manifest(self.pack.ro_uri)
 
-    @entries = []
+    if pack.ro_uri
+      session = ROSRS::Session.new(self.pack.ro_uri, Conf.rodl_bearer_token)
+      manifest_uri, @manifest = session.get_manifest(self.pack.ro_uri)
 
-    @manifest.query([RDF::URI.parse(self.pack.ro_uri), RDF::ORE.aggregates, nil]).select do |aggregate|
-      @manifest.query([aggregate.object, RDF.type, RDF::RO.Resource]).count > 0 &&
-      @manifest.query([nil, RDF::AO.body, aggregate.object]).count == 0
-    end.each do |resource|
-      ce = ContributableEntry.new
+      @entries = []
 
-      ce.pack     = pack
-      ce.uri      = resource.object.to_s
-      ce.name     = @manifest.graph.first_value([resource.object,  RDF::URI.parse("http://purl.org/wf4ever/ro#name"), nil])
-      ce.created  = @manifest.graph.first_value([resource.object,  RDF::DC.created,  nil])
-      ce.creator  = @manifest.graph.first_object([resource.object, RDF::DC.creator,  nil])
-      ce.checksum = @manifest.graph.first_object([resource.object, RDF::RO.checksum, nil])
-      ce.size     = @manifest.graph.first_value([resource.object,  RDF::RO.filesize, nil])
-       
-      @entries << ce
+      @manifest.query([RDF::URI.parse(self.pack.ro_uri), RDF::ORE.aggregates, nil]).select do |aggregate|
+        @manifest.query([aggregate.object, RDF.type, RDF::RO.Resource]).count > 0 &&
+        @manifest.query([nil, RDF::AO.body, aggregate.object]).count == 0
+      end.each do |resource|
+        ce = ContributableEntry.new
+
+        ce.pack     = pack
+        ce.uri      = resource.object.to_s
+        ce.name     = @manifest.graph.first_value([resource.object,  RDF::URI.parse("http://purl.org/wf4ever/ro#name"), nil])
+        ce.created  = @manifest.graph.first_value([resource.object,  RDF::DC.created,  nil])
+        ce.creator  = @manifest.graph.first_object([resource.object, RDF::DC.creator,  nil])
+        ce.checksum = @manifest.graph.first_object([resource.object, RDF::RO.checksum, nil])
+        ce.size     = @manifest.graph.first_value([resource.object,  RDF::RO.filesize, nil])
+         
+        @entries << ce
+      end
     end
   end
     
   def count
-    @entries.count
+    if @pack.ro_uri
+      @entries.count
+    else
+      0
+    end
   end
   
   def each(&blk)
-    @entries.each(&blk)
+    if @pack.ro_uri
+      @entries.each(&blk)
+    end
   end
 
 end

reply via email to

[Prev in Thread] Current Thread [Next in Thread]