Skip to content

Commit

Permalink
[pre-commit.ci] auto fixes from pre-commit.com hooks
Browse files Browse the repository at this point in the history
for more information, see https://pre-commit.ci
  • Loading branch information
pre-commit-ci[bot] committed Sep 11, 2024
1 parent 303dc9f commit 614a62a
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 14 deletions.
19 changes: 14 additions & 5 deletions h5io_browser/base.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import os
from pathlib import PurePath
import posixpath
import sys
import time
import warnings
from itertools import count
from pathlib import PurePath
from typing import Any, Callable, List, Optional, Tuple, Type, TypeVar, Union

import h5io
Expand Down Expand Up @@ -44,7 +44,10 @@ def delete_item(file_name: str, h5_path: str) -> None:


def list_hdf(
file_name: str, h5_path: str, recursive: Union[bool, int] = False, pattern: Optional[str] = None,
file_name: str,
h5_path: str,
recursive: Union[bool, int] = False,
pattern: Optional[str] = None,
) -> Tuple[List[str], List[str]]:
"""
List HDF5 nodes and HDF5 groups of a given HDF5 file at a given h5_path
Expand All @@ -62,7 +65,9 @@ def list_hdf(
if os.path.exists(file_name):
with h5py.File(file_name, "r") as hdf:
try:
return _get_hdf_content(hdf=hdf[h5_path], recursive=recursive, pattern=pattern)
return _get_hdf_content(
hdf=hdf[h5_path], recursive=recursive, pattern=pattern
)
except KeyError:
return [], []
else:
Expand Down Expand Up @@ -488,14 +493,18 @@ def _get_hdf_content(
elif only_nodes:
return _match_pattern(path_lst=nodes_lst, pattern=pattern)
else:
return _match_pattern(path_lst=nodes_lst, pattern=pattern), _match_pattern(path_lst=group_lst, pattern=pattern)
return _match_pattern(path_lst=nodes_lst, pattern=pattern), _match_pattern(
path_lst=group_lst, pattern=pattern
)
elif only_groups:
return _match_pattern(path_lst=_list_h5path(hdf=hdf)[1], pattern=pattern)
elif only_nodes:
return _match_pattern(path_lst=_list_h5path(hdf=hdf)[0], pattern=pattern)
else:
nodes_lst, group_lst = _list_h5path(hdf=hdf)
return _match_pattern(path_lst=nodes_lst, pattern=pattern), _match_pattern(path_lst=group_lst, pattern=pattern)
return _match_pattern(path_lst=nodes_lst, pattern=pattern), _match_pattern(
path_lst=group_lst, pattern=pattern
)


def _check_json_conversion(value: Any) -> Tuple[Any, bool]:
Expand Down
23 changes: 14 additions & 9 deletions tests/test_base.py
Original file line number Diff line number Diff line change
Expand Up @@ -214,16 +214,13 @@ def test_read_nested_dict_hierarchical_pattern(self):
file_name=self.file_name,
h5_path=self.h5_path,
recursive=True,
pattern="*/e"
pattern="*/e",
),
)
self.assertEqual(
{"data_hierarchical": {"c": {"d": 4, "e": 5}}},
read_dict_from_hdf(
file_name=self.file_name,
h5_path="/",
recursive=True,
pattern="*/*/*"
file_name=self.file_name, h5_path="/", recursive=True, pattern="*/*/*"
),
)
self.assertEqual(
Expand Down Expand Up @@ -375,16 +372,24 @@ def test_list_hdf(self):
list_hdf(file_name=self.file_name, h5_path="/", recursive=1.0)

def test_list_hdf_pattern(self):
nodes, groups = list_hdf(file_name=self.file_name, h5_path=self.h5_path, pattern="*/*")
nodes, groups = list_hdf(
file_name=self.file_name, h5_path=self.h5_path, pattern="*/*"
)
self.assertEqual(groups, ["/data_hierarchical/c"])
self.assertEqual(nodes, ["/data_hierarchical/a", "/data_hierarchical/b"])
nodes, groups = list_hdf(file_name=self.file_name, h5_path="/data_hierarchical", pattern="*/d")
nodes, groups = list_hdf(
file_name=self.file_name, h5_path="/data_hierarchical", pattern="*/d"
)
self.assertEqual(nodes, [])
self.assertEqual(groups, [])
nodes, groups = list_hdf(file_name=self.file_name, h5_path="/", recursive=1, pattern="*/c")
nodes, groups = list_hdf(
file_name=self.file_name, h5_path="/", recursive=1, pattern="*/c"
)
self.assertEqual(groups, ["/data_hierarchical/c"])
self.assertEqual(nodes, [])
nodes, groups = list_hdf(file_name=self.file_name, h5_path="/", recursive=2, pattern="*/c/*")
nodes, groups = list_hdf(
file_name=self.file_name, h5_path="/", recursive=2, pattern="*/c/*"
)
self.assertEqual(groups, [])
self.assertEqual(
nodes,
Expand Down

0 comments on commit 614a62a

Please sign in to comment.