Skip to content

Commit 93781c7

Browse files
authored
Merge pull request #793 from UNFmontreal/fix/sensitive_marking
Fix assignment of sensitive git-annex metadata data via glob patterns (regression introduced by #739)
2 parents 7200a0b + 8da2b43 commit 93781c7

File tree

2 files changed

+16
-3
lines changed

2 files changed

+16
-3
lines changed

heudiconv/external/dlad.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -156,12 +156,12 @@ def add_to_datalad(
156156

157157
# Provide metadata for sensitive information
158158
sensitive_patterns = [
159-
"sourcedata",
159+
"sourcedata/**",
160160
"*_scans.tsv", # top level
161161
"*/*_scans.tsv", # within subj
162162
"*/*/*_scans.tsv", # within sess/subj
163-
"*/anat", # within subj
164-
"*/*/anat", # within ses/subj
163+
"*/anat/*", # within subj
164+
"*/*/anat/*", # within ses/subj
165165
]
166166
for sp in sensitive_patterns:
167167
mark_sensitive(ds, sp, annexed_files)

heudiconv/tests/test_regression.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ def test_conversion(
5555
heuristic,
5656
anon_cmd,
5757
template="sourcedata/sub-{subject}/*/*/*.tgz",
58+
xargs=["--datalad"],
5859
)
5960
runner(args) # run conversion
6061

@@ -96,6 +97,18 @@ def test_conversion(
9697
for key in keys:
9798
assert orig[key] == conv[key]
9899

100+
# validate sensitive marking
101+
from datalad.api import Dataset
102+
103+
ds = Dataset(outdir)
104+
all_meta = dict(ds.repo.get_metadata("."))
105+
target_rec = {"distribution-restrictions": ["sensitive"]}
106+
for pth, meta in all_meta.items():
107+
if "anat" in pth or "scans.tsv" in pth:
108+
assert meta == target_rec
109+
else:
110+
assert meta == {}
111+
99112

100113
@pytest.mark.skipif(not have_datalad, reason="no datalad")
101114
def test_multiecho(

0 commit comments

Comments
 (0)