@@ -160,10 +160,15 @@ def bib_entrytype_setter(entrytype: dict) -> None:
160160 entrytype [Fields .ENTRYTYPE ] = ENTRYTYPES .MISC
161161
162162
163+ def _noop_entrytype_setter (entrytype : dict ) -> None :
164+ """Default for non-BibTeX loaders: do nothing."""
165+ return
166+
167+
163168def load ( # type: ignore
164169 filename : Path ,
165170 * ,
166- entrytype_setter : typing .Callable = lambda x : x ,
171+ entrytype_setter : typing .Callable [[ dict ], None ] | None = None ,
167172 field_mapper : typing .Callable = lambda x : x ,
168173 id_labeler : typing .Callable = lambda x : x ,
169174 unique_id_field : str = "" ,
@@ -183,6 +188,8 @@ def load( # type: ignore
183188
184189 if filename .suffix == ".bib" :
185190 parser = colrev .loader .bib .BIBLoader # type: ignore
191+ if entrytype_setter is None :
192+ entrytype_setter = bib_entrytype_setter
186193 elif filename .suffix in [".csv" , ".xls" , ".xlsx" ]:
187194 parser = colrev .loader .table .TableLoader # type: ignore
188195 elif filename .suffix == ".ris" :
@@ -198,6 +205,10 @@ def load( # type: ignore
198205 else :
199206 raise NotImplementedError (f"Unsupported file type: { filename .suffix } " )
200207
208+ # For non-bib files, if still None, use a no-op setter
209+ if entrytype_setter is None :
210+ entrytype_setter = _noop_entrytype_setter
211+
201212 return parser (
202213 filename = filename ,
203214 entrytype_setter = entrytype_setter ,
0 commit comments