Ejemplo n.º 1
0
 def finalize(self, fs_digest, fs_level, fs_stats, num_files):
   if self.readonly != False:
     raise Exception("Increment already finalized")
   
   self.attributes["fs_digest"] = fs_digest
   self.attributes["fs_level"] = str(fs_level)
   self.attributes["fs_stats"] = Nodes.serialize_stats(fs_stats)
   self.attributes["ftime"] = str(time.time())
   self.attributes["num_files"] = str(num_files)
   self.readonly = True
   
   #print "Finalizing increment", self.fs_digest
   PREFIX = "Increment.%s.%s." % (self.attributes["storage_index"],
       self.attributes["index"])
   for key, val in self.attributes.iteritems():
     self.db[PREFIX + key] = val
   message = self.compute_message()
   digest = Digest.dataDigest(message)
   self.block_database.add_block(
       digest, Container.CODE_INCREMENT_DESCRIPTOR, message)
   return digest