Skip to content

Commit 80d79ac

Browse files
committed
bug fix on inlcude/exclude filename
1 parent 4a5563e commit 80d79ac

File tree

1 file changed

+16
-8
lines changed

1 file changed

+16
-8
lines changed

neo/rawio/neuralynxrawio/neuralynxrawio.py

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -144,33 +144,39 @@ def __init__(
144144
**kargs
145145
):
146146

147+
if include_filenames is None:
148+
include_filenames = []
149+
elif not isinstance(include_filenames, (list, set, np.ndarray)):
150+
include_filenames = [include_filenames]
151+
152+
if exclude_filenames is None:
153+
exclude_filenames = set()
154+
elif not isinstance(exclude_filenames, (list, set, np.ndarray)):
155+
exclude_filenames = set(exclude_filenames)
156+
147157
if include_filenames:
148-
include_filepath = [os.path.dirname(f) for f in include_filenames]
158+
include_filepath = {os.path.dirname(f) for f in include_filenames}
149159
if len(include_filepath) > 1:
150160
raise ValueError("Files in include_filename must be in a single path!")
151161

152162
if (include_filenames is None) and (dirname == ""):
153163
raise ValueError("One of dirname or include_filenames must be provided.")
154164

155-
if (not isinstance(include_filenames, (list, set, np.ndarray))) and (include_filenames is not None):
156-
include_filenames = [include_filenames]
157-
if (not isinstance(exclude_filenames, (list, set, np.ndarray))) and (exclude_filenames is not None):
158-
exclude_filenames = [exclude_filenames]
159-
160165
if dirname and include_filenames:
161166
dirname = os.path.join(dirname, os.path.dirname(include_filenames[0]))
162167
include_filenames = [os.path.basename(f) for f in include_filenames]
163168

164169
if exclude_filenames:
165170
exclude_filenames = {os.path.basename(f) for f in exclude_filenames}
166171

167-
if include_filenames is not None:
172+
if include_filenames:
168173
self.rawmode = 'multiple-files'
169174
else:
170175
self.rawmode = "one-dir"
171176

172177
self.dirname = dirname
173-
self.include_filenames = [f for f in include_filenames if f not in exclude_filenames]
178+
self.include_filenames = include_filenames
179+
self.execlude_filenames = exclude_filenames
174180
self.keep_original_times = keep_original_times
175181
self.strict_gap_mode = strict_gap_mode
176182
BaseRawIO.__init__(self, **kargs)
@@ -211,6 +217,8 @@ def _parse_header(self):
211217
else:
212218
filenames = [os.path.join(self.dirname, f) for f in self.include_filenames]
213219

220+
filenames = [f for f in filenames if f not in self.execlude_filenames]
221+
214222
for filename in filenames:
215223
if not os.path.isfile(filename):
216224
raise ValueError(

0 commit comments

Comments
 (0)