Skip to content

Commit 962376c

Browse files
committed
Update to twinleaf-rust 1.4 (catch returned errors)
1 parent 02547d0 commit 962376c

2 files changed

Lines changed: 36 additions & 31 deletions

File tree

rust/Cargo.lock

Lines changed: 28 additions & 28 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

rust/src/lib.rs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,10 @@ impl PyIter {
3434
// Check for keyboard interrupt
3535
slf.py().check_signals()?;
3636

37-
let sample = slf.port.next();
38-
37+
let sample = match slf.port.next() {
38+
Ok(sample) => sample,
39+
Err(_) => return Ok(None), // End of stream or error
40+
};
3941
if !slf.stream.is_empty() && slf.stream != sample.stream.name {
4042
continue;
4143
}
@@ -128,7 +130,10 @@ impl PyDevice {
128130

129131
fn _get_metadata<'py>(&self, py: Python<'py>) -> PyResult<PyObject> {
130132
let mut device = data::Device::new(self.proxy.device_full(self.route.clone()).unwrap());
131-
let meta = device.get_metadata();
133+
let meta = match device.get_metadata() {
134+
Ok(meta) => meta,
135+
Err(_) => return Err(PyRuntimeError::new_err("Failed to get metadata")),
136+
};
132137

133138
let dict = PyDict::new(py);
134139

0 commit comments

Comments
 (0)