rust/hg-cpython/src/discovery.rs
changeset 42354 163b8fd7bb72
parent 42218 1b0be75cb61f
child 42609 326fdce22fb2
equal deleted inserted replaced
42353:d6c1dd936778 42354:163b8fd7bb72
    13 //!   `mercurial.setdiscovery.partialdiscovery`.
    13 //!   `mercurial.setdiscovery.partialdiscovery`.
    14 
    14 
    15 use crate::conversion::{py_set, rev_pyiter_collect};
    15 use crate::conversion::{py_set, rev_pyiter_collect};
    16 use cindex::Index;
    16 use cindex::Index;
    17 use cpython::{
    17 use cpython::{
    18     ObjectProtocol, PyDict, PyModule, PyObject, PyResult, Python, ToPyObject,
    18     ObjectProtocol, PyDict, PyModule, PyObject, PyResult, Python,
       
    19     PythonObject, ToPyObject,
    19 };
    20 };
    20 use exceptions::GraphError;
    21 use exceptions::GraphError;
    21 use hg::discovery::PartialDiscovery as CorePartialDiscovery;
    22 use hg::discovery::PartialDiscovery as CorePartialDiscovery;
    22 use hg::Revision;
    23 use hg::Revision;
    23 
    24 
    87 
    88 
    88     def stats(&self) -> PyResult<PyDict> {
    89     def stats(&self) -> PyResult<PyDict> {
    89         let stats = self.inner(py).borrow().stats();
    90         let stats = self.inner(py).borrow().stats();
    90         let as_dict: PyDict = PyDict::new(py);
    91         let as_dict: PyDict = PyDict::new(py);
    91         as_dict.set_item(py, "undecided",
    92         as_dict.set_item(py, "undecided",
    92                          stats.undecided.map(|l| l.to_py_object(py))
    93                          stats.undecided.map(
    93                               .unwrap_or_else(|| py.None()))?;
    94                              |l| l.to_py_object(py).into_object())
       
    95                              .unwrap_or_else(|| py.None()))?;
    94         Ok(as_dict)
    96         Ok(as_dict)
    95     }
    97     }
    96 
    98 
    97     def commonheads(&self) -> PyResult<PyObject> {
    99     def commonheads(&self) -> PyResult<PyObject> {
    98         py_set(
   100         py_set(