rust/hg-pyo3/src/revlog/index.rs
changeset 52791 0ac956db7ea7
parent 52789 34f44aa5e844
child 52792 acae91fad6be
--- a/rust/hg-pyo3/src/revlog/index.rs	Tue Dec 24 15:08:22 2024 +0100
+++ b/rust/hg-pyo3/src/revlog/index.rs	Sun Dec 22 21:37:29 2024 +0100
@@ -39,3 +39,36 @@
         ..Default::default()
     })
 }
+
+pub fn revision_data_params_to_py_tuple(
+    py: Python<'_>,
+    params: RevisionDataParams,
+) -> PyResult<Bound<'_, PyTuple>> {
+    PyTuple::new(
+        py,
+        &[
+            params.data_offset.into_pyobject(py)?.into_any(),
+            params.data_compressed_length.into_pyobject(py)?.into_any(),
+            params
+                .data_uncompressed_length
+                .into_pyobject(py)?
+                .into_any(),
+            params.data_delta_base.into_pyobject(py)?.into_any(),
+            params.link_rev.into_pyobject(py)?.into_any(),
+            params.parent_rev_1.into_pyobject(py)?.into_any(),
+            params.parent_rev_2.into_pyobject(py)?.into_any(),
+            PyBytes::new(py, &params.node_id).into_any().into_any(),
+            params._sidedata_offset.into_pyobject(py)?.into_any(),
+            params
+                ._sidedata_compressed_length
+                .into_pyobject(py)?
+                .into_any(),
+            params.data_compression_mode.into_pyobject(py)?.into_any(),
+            params
+                ._sidedata_compression_mode
+                .into_pyobject(py)?
+                .into_any(),
+            params._rank.into_pyobject(py)?.into_any(),
+        ],
+    )
+}