def __init__(self, dataset_path): """Opens the dataset and extracts metadata. Most of the metadata is kept in self._ds which is a eotools.drivers.SceneDataset object. Some extra metadata is extracted and kept the instance attributes. """ self._dataset_path = dataset_path LOGGER.info("Opening Dataset %s", self._dataset_path) self._ds = SceneDataset(default_metadata_required=False, utm_fix=True) self._ds = self._ds.Open(self.get_dataset_path()) if not self._ds: raise DatasetError("Unable to open %s" % self.get_dataset_path()) # # Cache extra metadata in instance attributes. # self._dataset_size = self._get_directory_size() if self.get_processing_level() in ["ORTHO", "L1T", "MAP"]: LOGGER.debug("Dataset %s is Level 1", self.get_dataset_path()) self._gcp_count = self._get_gcp_count() self._mtl_text = self._get_mtl_text() else: self._gcp_count = None self._mtl_text = None self._xml_text = self._get_xml_text() AbstractDataset.__init__(self)