// yt - A fully featured command line YouTube client // // Copyright (C) 2025 Benedikt Peetz // SPDX-License-Identifier: GPL-3.0-or-later // // This file is part of Yt. // // You should have received a copy of the License along with this program. // If not, see . pub mod dearrow; #[macro_export] macro_rules! pydict_get { ($value:expr, $name:literal, $into:ty) => {{ let item = $value.get_item(pyo3::intern!($value.py(), $name)); match &item { Ok(val) => $crate::pydict_cast!(val, $into), Err(_) => panic!( concat!( "Expected '", $name, "' to be a key for the'", stringify!($value), "' py dictionary: {:#?}" ), $value ), } }}; } #[macro_export] macro_rules! pydict_cast { ($value:expr, $into:ty) => {{ match $value.extract::<$into>() { Ok(result) => result, Err(val) => panic!( concat!( "Expected to be able to extract ", stringify!($into), " from value ({:#?})." ), val ), } }}; }