Skip to content

Commit 447e7a1

Browse files
committed
fixes typing of read_metadata
1 parent c31c861 commit 447e7a1

File tree

5 files changed

+23
-15
lines changed

5 files changed

+23
-15
lines changed

conftest.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import os
2+
import typing as ty
23
import pytest
34
from pathlib import Path
45

@@ -22,9 +23,10 @@ def cli_parse_only():
2223
if os.getenv("_PYTEST_RAISE", "0") != "0":
2324

2425
@pytest.hookimpl(tryfirst=True)
25-
def pytest_exception_interact(call):
26-
raise call.excinfo.value
26+
def pytest_exception_interact(call: pytest.CallInfo[ty.Any]) -> None:
27+
if call.excinfo is not None:
28+
raise call.excinfo.value
2729

2830
@pytest.hookimpl(tryfirst=True)
29-
def pytest_internalerror(excinfo):
31+
def pytest_internalerror(excinfo: pytest.ExceptionInfo[BaseException]) -> None:
3032
raise excinfo.value

related-packages/fileformats-extras/conftest.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import logging
33
from pathlib import Path
44
import tempfile
5+
import typing as ty
56
import pytest
67
from fileformats.medimage import DicomDir, Nifti
78

@@ -24,11 +25,12 @@
2425
if os.getenv("_PYTEST_RAISE", "0") != "0":
2526

2627
@pytest.hookimpl(tryfirst=True)
27-
def pytest_exception_interact(call):
28-
raise call.excinfo.value
28+
def pytest_exception_interact(call: pytest.CallInfo[ty.Any]) -> None:
29+
if call.excinfo is not None:
30+
raise call.excinfo.value
2931

3032
@pytest.hookimpl(tryfirst=True)
31-
def pytest_internalerror(excinfo):
33+
def pytest_internalerror(excinfo: pytest.ExceptionInfo[BaseException]) -> None:
3234
raise excinfo.value
3335

3436

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
1-
import numpy as np
1+
import typing # noqa: F401
2+
import numpy.typing
23
from fileformats.core import extra_implementation
34
from fileformats.medimage import DwiEncoding
5+
from fileformats.medimage.diffusion import EncodingArrayType
46
from fileformats.medimage_mrtrix3 import BFile
57

68

79
@extra_implementation(DwiEncoding.read_array)
8-
def bfile_read_array(bfile: BFile) -> np.ndarray:
9-
return np.asarray(
10+
def bfile_read_array(
11+
bfile: BFile,
12+
) -> EncodingArrayType:
13+
return numpy.asarray(
1014
[[float(x) for x in ln.split()] for ln in bfile.read_contents().splitlines()]
1115
)

related-packages/fileformats/conftest.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import os
22
import logging
3+
import typing as ty
34
from pathlib import Path
45
import tempfile
56
import pytest
@@ -23,11 +24,12 @@
2324
if os.getenv("_PYTEST_RAISE", "0") != "0":
2425

2526
@pytest.hookimpl(tryfirst=True)
26-
def pytest_exception_interact(call):
27-
raise call.excinfo.value
27+
def pytest_exception_interact(call: pytest.CallInfo[ty.Any]) -> None:
28+
if call.excinfo is not None:
29+
raise call.excinfo.value
2830

2931
@pytest.hookimpl(tryfirst=True)
30-
def pytest_internalerror(excinfo):
32+
def pytest_internalerror(excinfo: pytest.ExceptionInfo[BaseException]) -> None:
3133
raise excinfo.value
3234

3335

related-packages/fileformats/fileformats/medimage_mrtrix3/image.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ class ImageDataFile(File):
9191

9292
@extra_implementation(FileSet.read_metadata)
9393
def mrtrix_read_metadata(
94-
mif: BaseMrtrixImage, selected_keys: ty.Optional[ty.Collection[str]] = None
94+
mif: BaseMrtrixImage, **kwargs: ty.Any
9595
) -> ty.Mapping[str, ty.Any]:
9696
metadata = {}
9797
with open(mif.fspath, "rb") as f:
@@ -127,6 +127,4 @@ def mrtrix_read_metadata(
127127
else:
128128
metadata[key] = value
129129
line = f.readline().decode("utf-8")
130-
if selected_keys:
131-
metadata = {k: v for k, v in metadata.items() if k in selected_keys}
132130
return metadata

0 commit comments

Comments
 (0)