def read_project(self, uri: str, strict: Optional[bool] = None) -> QgsProject: """ Read project from path May be used by protocol-handlers to instanciate project from uri. """ LOGGER.debug("Reading Qgis project %s", uri) project = self._create_project() readflags = QgsProject.ReadFlags() if self._trust_layer_metadata: readflags |= QgsProject.FlagTrustLayerMetadata if self._disable_getprint: readflags |= QgsProject.FlagDontLoadLayouts badlayerh = BadLayerHandler() project.setBadLayerHandler(badlayerh) if not project.read(uri, readflags): raise RuntimeError(f"Failed to read Qgis project {uri}") strict = self._strict_check if strict is None else strict if strict and not badlayerh.validateLayers(project): raise StrictCheckingError self.prepare_project(project) return project
def read_project(self, path: str) -> QgsProject: """ Read project from path May be used by protocol-handlers to instanciate project from path. """ LOGGER.debug("Reading Qgis project %s", path) project = self._create_project() readflags = QgsProject.ReadFlags() if self._trust_layer_metadata: readflags |= QgsProject.FlagTrustLayerMetadata if self._disable_getprint: readflags |= QgsProject.FlagDontLoadLayouts badlayerh = BadLayerHandler() project.setBadLayerHandler(badlayerh) project.read(path, readflags) if self._strict_check and not badlayerh.validatLayers(project): raise StrictCheckingError return project