コード例 #1
0
    def Init(self):
        """Initializes the payload object.

    This is a prerequisite for any other public API call.

    Raises:
      PayloadError if object already initialized or fails to initialize
      correctly.
    """
        if self.is_init:
            raise PayloadError('payload object already initialized')

        # Initialize hash context.
        # pylint: disable=E1101
        self.manifest_hasher = hashlib.sha256()

        # Read the file header.
        self.header = self._ReadHeader()

        # Read the manifest.
        manifest_raw = self._ReadManifest()
        self.manifest = update_metadata_pb2.DeltaArchiveManifest()
        self.manifest.ParseFromString(manifest_raw)

        # Read the metadata signature (if any).
        metadata_signature_raw = self._ReadMetadataSignature()
        if metadata_signature_raw:
            self.metadata_signature = update_metadata_pb2.Signatures()
            self.metadata_signature.ParseFromString(metadata_signature_raw)

        self.metadata_size = self.header.size + self.header.manifest_len
        self.data_offset = self.metadata_size + self.header.metadata_signature_len

        self.is_init = True
コード例 #2
0
 def Init(self):
     self.header = self._PayloadHeader()
     self.header.ReadFromPayload(self.payload_file)
     manifest_raw = self._ReadManifest()
     self.manifest = update_metadata_pb2.DeltaArchiveManifest()
     self.manifest.ParseFromString(manifest_raw)
     metadata_signature_raw = self._ReadMetadataSignature()
     if metadata_signature_raw:
         self.metadata_signature = update_metadata_pb2.Signatures()
         self.metadata_signature.ParseFromString(metadata_signature_raw)
     self.metadata_size = self.header.size + self.header.manifest_len
     self.data_offset = self.metadata_size + self.header.metadata_signature_len
コード例 #3
0
 def __init__(self):
   self.sigs = update_metadata_pb2.Signatures()