diff --git a/src/xtgeo/grid3d/_gridprop_export.py b/src/xtgeo/grid3d/_gridprop_export.py index 7404822ef..882d957eb 100644 --- a/src/xtgeo/grid3d/_gridprop_export.py +++ b/src/xtgeo/grid3d/_gridprop_export.py @@ -47,8 +47,7 @@ def to_file( name = gridprop.name or "" xtg_file = FileWrapper(pfile, mode="rb") - if not xtg_file.memstream: - xtg_file.check_folder(raiseerror=OSError) + xtg_file.check_folder(raiseerror=OSError) if fformat in FileFormat.ROFF_BINARY.value + FileFormat.ROFF_ASCII.value: _export_roff(gridprop, xtg_file.name, name, binary, append=append) diff --git a/src/xtgeo/grid3d/grid.py b/src/xtgeo/grid3d/grid.py index a5f30c7d7..f43a3304c 100644 --- a/src/xtgeo/grid3d/grid.py +++ b/src/xtgeo/grid3d/grid.py @@ -711,8 +711,7 @@ def to_file(self, gfile: FileLike, fformat: str = "roff") -> None: """ _gfile = FileWrapper(gfile, mode="wb") - if not _gfile.memstream: - _gfile.check_folder(raiseerror=OSError) + _gfile.check_folder(raiseerror=OSError) if fformat in FileFormat.ROFF_BINARY.value: _grid_export.export_roff(self, _gfile.name, "binary") diff --git a/src/xtgeo/io/_file.py b/src/xtgeo/io/_file.py index 3c691152a..8dcaf3286 100644 --- a/src/xtgeo/io/_file.py +++ b/src/xtgeo/io/_file.py @@ -301,12 +301,14 @@ def check_folder( ValueError: If the file is a memstream """ - # Redundant but mypy can't follow when memstream is True - if self.memstream or isinstance(self.file, (io.BytesIO, io.StringIO)): - raise ValueError("Cannot check folder status of an in-memory file") - logger.debug("Checking folder...") + if self.memstream or isinstance(self.file, (io.BytesIO, io.StringIO)): + logger.info( + "Cannot check folder status of an in-memory file, just return True" + ) + return True + folder = self.file.parent if raisetext is None: raisetext = f"Folder {folder.name} does not exist or cannot be accessed" diff --git a/src/xtgeo/surface/regular_surface.py b/src/xtgeo/surface/regular_surface.py index 4e52937b3..b9166df32 100644 --- a/src/xtgeo/surface/regular_surface.py +++ b/src/xtgeo/surface/regular_surface.py @@ -994,10 +994,9 @@ def to_file( warnings.warn(msg, UserWarning) mfile = FileWrapper(mfile, mode="wb", obj=self) + mfile.check_folder(raiseerror=OSError) - if not mfile.memstream: - mfile.check_folder(raiseerror=OSError) - else: + if mfile.memstream: engine = "python" if fformat in FileFormat.IRAP_ASCII.value: @@ -1076,8 +1075,7 @@ def to_hdf( # developing, in prep and experimental! mfile = FileWrapper(mfile, mode="wb", obj=self) - if not mfile.memstream: - mfile.check_folder(raiseerror=OSError) + mfile.check_folder(raiseerror=OSError) _regsurf_export.export_hdf5_regsurf(self, mfile, compression=compression) return mfile.file