1
2use pyo3::prelude::*;
3use gldf_rs::gldf::{GldfProduct};
4use std::path::Path;
5
6#[pyfunction]
7fn gldf_to_xml(path: &str) -> PyResult<String> {
8 let loaded: GldfProduct = GldfProduct::load_gldf(path).unwrap();
9 Ok(loaded.to_xml().unwrap())
10}
11
12#[pyfunction]
13fn gldf_to_json(path: &str) -> PyResult<String> {
14 let loaded: GldfProduct = GldfProduct::load_gldf(path).unwrap();
15 Ok(loaded.to_json().unwrap())
16}
17
18#[pyfunction]
19fn json_from_xml_str(xml_str: &str) -> PyResult<String> {
20 let loaded: GldfProduct = GldfProduct::from_xml(&xml_str.to_string()).unwrap();
21 Ok(loaded.to_json().unwrap())
22}
23
24#[pyfunction]
25fn xml_from_json(json_str: &str) -> PyResult<String> {
26 let loaded: GldfProduct = GldfProduct::from_json(json_str).unwrap();
27 Ok(loaded.to_xml().unwrap())
28}
29
30#[pymodule]
38fn gldf_rs_python(_py: Python, m: &PyModule) -> PyResult<()> {
39 m.add_function(wrap_pyfunction!(gldf_to_xml, m)?)?;
40 m.add_function(wrap_pyfunction!(gldf_to_json, m)?)?;
41 m.add_function(wrap_pyfunction!(xml_from_json, m)?)?;
42 m.add_function(wrap_pyfunction!(json_from_xml_str, m)?)?;
43 Ok(())
44}