22
22
#
23
23
from pathlib import Path
24
24
25
- from nireports .reports . core import Report as _Report
25
+ from nireports .assembler . report import Report as _Report
26
26
27
27
# This patch is intended to permit fMRIPrep 20.2.0 LTS to use the YODA-style
28
28
# derivatives directory. Ideally, we will remove this in 20.3.x and use an
@@ -52,22 +52,17 @@ def _load_config(self, config):
52
52
# The following are the interface used directly by fMRIPrep
53
53
#
54
54
55
- def generate_reports (
56
- subject_list , output_dir , run_uuid , config = None , work_dir = None , packagename = None
57
- ):
55
+
56
+ def generate_reports (subject_list , output_dir , run_uuid , config = None , work_dir = None ):
58
57
"""Generate reports for a list of subjects."""
59
58
reportlets_dir = None
60
59
if work_dir is not None :
61
60
reportlets_dir = Path (work_dir ) / "reportlets"
62
61
63
62
report_errors = []
64
63
for subject_label in subject_list :
65
-
66
- # Problem subject_label is not a path to a file, I think
67
- entities = config .execution .layout .get_file (subject_label ).get_entities ()
68
- entities .pop ("extension" , None )
69
- entities .pop ("echo" , None )
70
- entities .pop ("part" , None )
64
+ entities = {}
65
+ entities ["sub" ] = subject_label
71
66
72
67
robj = Report (
73
68
output_dir ,
@@ -77,14 +72,16 @@ def generate_reports(
77
72
plugins = None ,
78
73
plugin_meta = None ,
79
74
metadata = None ,
80
- ** entities
75
+ ** entities ,
81
76
)
82
77
83
- # Problem: this does not make sense anymore because generate_report in nireports always returns 0
84
- report_errors .append (robj .generate_report ())
85
-
78
+ # Count nbr of subject for which report generation failed
79
+ errno = 0
80
+ try :
81
+ robj .generate_report ()
82
+ except :
83
+ errno += 1
86
84
87
- errno = sum (report_errors )
88
85
if errno :
89
86
import logging
90
87
0 commit comments