From b5de93e5f58a0c269a4d0d1827a3ae56ac21b6d8 Mon Sep 17 00:00:00 2001 From: haixuanTao Date: Mon, 20 May 2024 15:48:28 +0200 Subject: [PATCH] Pretty Print Rust object when called from Python print --- apis/python/operator/src/lib.rs | 5 +++++ apis/rust/node/src/event_stream/merged.rs | 1 + 2 files changed, 6 insertions(+) diff --git a/apis/python/operator/src/lib.rs b/apis/python/operator/src/lib.rs index a57054eb9..c57960ea8 100644 --- a/apis/python/operator/src/lib.rs +++ b/apis/python/operator/src/lib.rs @@ -5,6 +5,7 @@ use pyo3::{exceptions::PyLookupError, prelude::*, types::PyDict}; /// Dora Event #[pyclass] +#[derive(Debug)] pub struct PyEvent { event: MergedEvent, data: Option, @@ -56,6 +57,10 @@ impl PyEvent { MergedEvent::External(event) => Some(event), } } + + fn __str__(&self) -> PyResult { + Ok(format!("{:#?}", &self.event)) + } } impl PyEvent { diff --git a/apis/rust/node/src/event_stream/merged.rs b/apis/rust/node/src/event_stream/merged.rs index df38545ab..b6c0129c8 100644 --- a/apis/rust/node/src/event_stream/merged.rs +++ b/apis/rust/node/src/event_stream/merged.rs @@ -1,6 +1,7 @@ use futures::{Stream, StreamExt}; use futures_concurrency::stream::Merge; +#[derive(Debug)] pub enum MergedEvent { Dora(super::Event), External(E),