Skip to content

Commit 01bc935

Browse files
committed
Fix _get_daqsystems to create correct DAQ system subclass
_get_daqsystems always created ndi_daq_system (base class) which lacks epochtimes2samples. Use session._document_to_object() instead, which checks the document's ndi_daqsystem_class and creates the correct subclass (ndi_daq_system_mfdaq for MFDAQ systems). https://claude.ai/code/session_01A7rAxYf5pSvs19iVJe3ncL
1 parent 1993749 commit 01bc935

1 file changed

Lines changed: 11 additions & 5 deletions

File tree

src/ndi/probe/__init__.py

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -173,14 +173,20 @@ def _get_daqsystems(self) -> list[Any]:
173173
q = ndi_query("").isa("daqsystem")
174174
docs = self._session.database_search(q)
175175

176-
# Load ndi_daq_system objects from documents
177-
from ..daq.system import ndi_daq_system
178-
176+
# Load ndi_daq_system objects from documents using the session's
177+
# _document_to_object which creates the correct subclass (e.g.
178+
# ndi_daq_system_mfdaq for MFDAQ systems).
179179
systems = []
180180
for doc in docs:
181181
try:
182-
sys = ndi_daq_system(session=self._session, document=doc)
183-
systems.append(sys)
182+
if hasattr(self._session, "_document_to_object"):
183+
obj = self._session._document_to_object(doc)
184+
else:
185+
from ..daq.system import ndi_daq_system
186+
187+
obj = ndi_daq_system(session=self._session, document=doc)
188+
if obj is not None:
189+
systems.append(obj)
184190
except Exception:
185191
pass
186192

0 commit comments

Comments
 (0)