author | Rapha?l Gom?s <rgomes@octobus.net> |
Mon, 30 Oct 2023 11:54:42 +0100 | |
changeset 51217 | c817d9f626d3 |
parent 44870 | 9f96beb9bafe |
permissions | -rw-r--r-- |
// debug.rs // // Copyright 2020 Raphaël Gomès <rgomes@octobus.net> // // This software may be used and distributed according to the terms of the // GNU General Public License version 2 or any later version. //! Module to get debug information about Rust extensions. use cpython::{PyDict, PyModule, PyResult, Python}; /// Create the module, with `__package__` given from parent pub fn init_module(py: Python, package: &str) -> PyResult<PyModule> { let dotted_name = &format!("{}.debug", package); let m = PyModule::new(py, dotted_name)?; m.add(py, "__package__", package)?; m.add(py, "__doc__", "Rust debugging information")?; let sys = PyModule::import(py, "sys")?; let sys_modules: PyDict = sys.get(py, "modules")?.extract(py)?; sys_modules.set_item(py, dotted_name, &m)?; Ok(m) }