Skip to content

Commit 5c55606

Browse files
committed
fix: Use removeprefix instead of lstrip or ternary operator
1 parent 0218f4f commit 5c55606

File tree

3 files changed

+6
-9
lines changed

3 files changed

+6
-9
lines changed

fmriprep/cli/parser.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -105,9 +105,6 @@ def _to_gb(value):
105105
units = value[len(digits) :] or 'M'
106106
return int(digits) * scale[units[0]]
107107

108-
def _drop_sub(value):
109-
return value[4:] if value.startswith('sub-') else value
110-
111108
def _process_value(value):
112109
import bids
113110

@@ -205,7 +202,7 @@ def _slice_time_ref(value, parser):
205202
'--participant_label',
206203
action='store',
207204
nargs='+',
208-
type=_drop_sub,
205+
type=lambda label: label.removeprefix('sub-'),
209206
help='A space delimited list of participant identifiers or a single '
210207
'identifier (the sub- prefix can be removed)',
211208
)

fmriprep/reports/core.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ def generate_reports(
7979

8080
errors = []
8181
for subject_label in subject_list:
82+
subject_label = subject_label.removeprefix('sub-')
8283
# The number of sessions is intentionally not based on session_list but
8384
# on the total number of sessions, because I want the final derivatives
8485
# folder to be the same whether sessions were run one at a time or all-together.
@@ -95,7 +96,7 @@ def generate_reports(
9596
else:
9697
# Beyond a threshold, we separate the anatomical report from the functional.
9798
bootstrap_file = data.load('reports-spec-anat.yml')
98-
html_report = f'sub-{subject_label.lstrip("sub-")}_anat.html'
99+
html_report = f'sub-{subject_label}_anat.html'
99100

100101
report_error = run_reports(
101102
output_dir,
@@ -121,12 +122,11 @@ def generate_reports(
121122
subject=subject_label, **filters
122123
)
123124

124-
# Drop ses- prefixes
125-
session_list = [ses[4:] if ses.startswith('ses-') else ses for ses in session_list]
125+
session_list = [ses.removeprefix('ses-') for ses in session_list]
126126

127127
for session_label in session_list:
128128
bootstrap_file = data.load('reports-spec-func.yml')
129-
html_report = f'sub-{subject_label.lstrip("sub-")}_ses-{session_label}_func.html'
129+
html_report = f'sub-{subject_label}_ses-{session_label}_func.html'
130130

131131
report_error = run_reports(
132132
output_dir,

fmriprep/utils/bids.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ def validate_input_dir(exec_env, bids_dir, participant_label, need_T1w=True):
217217
# Limit validation only to data from requested participants
218218
if participant_label:
219219
all_subs = {s.name[4:] for s in bids_dir.glob('sub-*')}
220-
selected_subs = {s[4:] if s.startswith('sub-') else s for s in participant_label}
220+
selected_subs = {s.removeprefix('sub-') for s in participant_label}
221221
bad_labels = selected_subs.difference(all_subs)
222222
if bad_labels:
223223
error_msg = (

0 commit comments

Comments
 (0)