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
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
def __init__(self): self.sigs = update_metadata_pb2.Signatures()