'Open the file and read the metadata.
This method must populate the _metadata attribute.
:raises DiskFileCollision: on name mis-match with metadata
:raises DiskFileDeleted: if it does not exist, or a tombstone is
present
:raises DiskFileQuarantined: if while reading metadata of the file
some data did pass cross checks'

def open(self):

    (fp, self._metadata) = self._filesystem.get_object(self._name)
    if (fp is None):
        raise DiskFileDeleted()
    self._fp = self._verify_data_file(fp)
    self._metadata = (self._metadata or {})
    return self
