Skip to content
Snippets Groups Projects
Commit 4f7f9916 authored by Simon Oehrl's avatar Simon Oehrl
Browse files

Fix pynesci bindings

parent 83e7acc3
No related branches found
No related tags found
No related merge requests found
Pipeline #165113 failed
......@@ -34,6 +34,6 @@ add_python_module(
HEADERS ${HEADERS}
PYTHON_SOURCES ${PYTHON_SOURCES}
INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR}
LINK_LIBRARIES nesci::consumer Boost::python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR} Boost::disable_autolinking
LINK_LIBRARIES Boost::python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR} Boost::disable_autolinking conduit nesci::nesci nesci::consumer
OUTPUT_DIRECTORY ${PYCONSUMER_OUTPUT_DIR}
)
......@@ -21,6 +21,7 @@
#include <string>
#include "boost/python.hpp"
#include "nesci/consumer/device_data_view.hpp"
#include "pyconsumer.hpp"
#include "pynesci/suppress_warnings.hpp"
......@@ -32,7 +33,7 @@ SUPPRESS_WARNINGS_BEGIN
void ExposeDeviceDataView() {
class_<nesci::consumer::DeviceDataView>("DeviceDataView",
init<const conduit::Node&>())
init<const conduit::Node*>())
.def("HasName", &nesci::consumer::DeviceDataView::HasName)
.def("GetDeviceName", &nesci::consumer::DeviceDataView::GetName)
.def("GetDeviceType", &nesci::consumer::DeviceDataView::GetType);
......
......@@ -87,7 +87,7 @@ boost::python::list GetNestMultimeterFloatingPointAttributeValues(
void ExposeNestMultimeterDataView() {
class_<nesci::consumer::NestMultimeterDataView,
bases<nesci::consumer::DeviceDataView>>("NestMultimeterDataView",
init<const conduit::Node&>())
init<const conduit::Node*>())
.def("IsValid", &nesci::consumer::NestMultimeterDataView::IsValid)
.def("GetTimestep", &nesci::consumer::NestMultimeterDataView::GetTimestep)
.def("GetNeuronIds",
......
......@@ -30,35 +30,35 @@ namespace consumer {
SUPPRESS_WARNINGS_BEGIN
boost::python::object IsSpikeDetectorValid(
nesci::consumer::DeviceDataView* spike_detector) {
return static_cast<boost::python::object>(spike_detector->IsValid());
}
boost::python::list GetSpikeDetectorTimesteps(
nesci::consumer::DeviceDataView* spike_detector) {
nesci::consumer::SpikeDetectorDataView* spike_detector) {
boost::python::list ret_val;
for (const auto& data : spike_detector->GetTimesteps()) {
ret_val.append(data);
const auto timesteps = spike_detector->GetTimesteps();
for (conduit::index_t i = 0, count = timesteps.number_of_elements();
i < count; ++i) {
ret_val.append(timesteps[i]);
}
return ret_val;
}
boost::python::list GetSpikeDetectorNeuronIds(
nesci::consumer::DeviceDataView* spike_detector) {
nesci::consumer::SpikeDetectorDataView* spike_detector) {
boost::python::list ret_val;
for (const auto& data : spike_detector->GetNeuronIds()) {
ret_val.append(data);
const auto neuron_ids = spike_detector->GetNeuronIds();
for (conduit::index_t i = 0, count = neuron_ids.number_of_elements();
i < count; ++i) {
ret_val.append(neuron_ids[i]);
}
return ret_val;
}
void ExposeSpikeDetectorDataView() {
class_<nesci::consumer::SpikeDetectorDataView>(
"SpikeDetectorDataView", init<const conduit::Node & node>())
.def("IsSpikeDetectorValid", &IsValid)
.def("GetSpikeDetectorTimesteps", &GetTimesteps)
.def("GetSpikeDetectorNeuronIds", &GetNeuronIds);
class_<nesci::consumer::SpikeDetectorDataView,
bases<nesci::consumer::DeviceDataView>>("SpikeDetectorDataView",
init<const conduit::Node*>())
.def("IsValid", &nesci::consumer::SpikeDetectorDataView::IsValid)
.def("GetTimesteps", &GetSpikeDetectorTimesteps)
.def("GetNeuronIds", &GetSpikeDetectorNeuronIds);
}
SUPPRESS_WARNINGS_END
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment