Skip to content

Commit 89b4c06

Browse files
committed
FIX: do not use private API, use find_root_and_group instead
1 parent 8372ac9 commit 89b4c06

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

xarray/backends/h5netcdf_.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from .. import Variable
66
from ..core import indexing
77
from ..core.utils import FrozenDict, is_remote_uri
8-
from .common import WritableCFDataStore
8+
from .common import WritableCFDataStore, find_root_and_group
99
from .file_manager import CachingFileManager, DummyFileManager
1010
from .locks import HDF5_LOCK, combine_locks, ensure_lock, get_write_lock
1111
from .netCDF4_ import (
@@ -86,16 +86,23 @@ def __init__(self, manager, group=None, mode=None, lock=HDF5_LOCK, autoclose=Fal
8686

8787
if isinstance(manager, (h5netcdf.File, h5netcdf.Group)):
8888
if group is None:
89-
root, group = manager._root, manager.name
89+
root, group = find_root_and_group(manager)
9090
else:
91+
if not type(manager) is h5netcdf.File:
92+
raise ValueError(
93+
"must supply a h5netcdf.File if the group "
94+
"argument is provided"
95+
)
9196
root = manager
9297
manager = DummyFileManager(root)
9398

9499
self._manager = manager
95100
self._group = group
96101
self._mode = mode
97102
self.format = None
98-
self._filename = self.ds._root.filename
103+
# todo: utilizing find_root_and_group seems a bit clunky
104+
# making filename available on h5netcdf.Group seems better
105+
self._filename = find_root_and_group(self.ds)[0].filename
99106
self.is_remote = is_remote_uri(self._filename)
100107
self.lock = ensure_lock(lock)
101108
self.autoclose = autoclose

0 commit comments

Comments
 (0)