rust/hg-cpython/src/dirstate/dirstate_map.rs
changeset 47332 4ee9f419c52e
parent 47280 1766130fe9ba
child 47335 ed1583a845d2
equal deleted inserted replaced
47331:0252600fd1cf 47332:4ee9f419c52e
    90         default: Option<PyObject> = None
    90         default: Option<PyObject> = None
    91     ) -> PyResult<Option<PyObject>> {
    91     ) -> PyResult<Option<PyObject>> {
    92         let key = key.extract::<PyBytes>(py)?;
    92         let key = key.extract::<PyBytes>(py)?;
    93         match self.inner(py).borrow().get(HgPath::new(key.data(py))) {
    93         match self.inner(py).borrow().get(HgPath::new(key.data(py))) {
    94             Some(entry) => {
    94             Some(entry) => {
    95                 Ok(Some(make_dirstate_tuple(py, entry)?))
    95                 Ok(Some(make_dirstate_tuple(py, &entry)?))
    96             },
    96             },
    97             None => Ok(default)
    97             None => Ok(default)
    98         }
    98         }
    99     }
    99     }
   100 
   100 
   346     def __getitem__(&self, key: PyObject) -> PyResult<PyObject> {
   346     def __getitem__(&self, key: PyObject) -> PyResult<PyObject> {
   347         let key = key.extract::<PyBytes>(py)?;
   347         let key = key.extract::<PyBytes>(py)?;
   348         let key = HgPath::new(key.data(py));
   348         let key = HgPath::new(key.data(py));
   349         match self.inner(py).borrow().get(key) {
   349         match self.inner(py).borrow().get(key) {
   350             Some(entry) => {
   350             Some(entry) => {
   351                 Ok(make_dirstate_tuple(py, entry)?)
   351                 Ok(make_dirstate_tuple(py, &entry)?)
   352             },
   352             },
   353             None => Err(PyErr::new::<exc::KeyError, _>(
   353             None => Err(PyErr::new::<exc::KeyError, _>(
   354                 py,
   354                 py,
   355                 String::from_utf8_lossy(key.as_bytes()),
   355                 String::from_utf8_lossy(key.as_bytes()),
   356             )),
   356             )),
   523     ) -> RefMut<'a, Box<dyn DirstateMapMethods + Send>> {
   523     ) -> RefMut<'a, Box<dyn DirstateMapMethods + Send>> {
   524         self.inner(py).borrow_mut()
   524         self.inner(py).borrow_mut()
   525     }
   525     }
   526     fn translate_key(
   526     fn translate_key(
   527         py: Python,
   527         py: Python,
   528         res: (&HgPath, &DirstateEntry),
   528         res: (&HgPath, DirstateEntry),
   529     ) -> PyResult<Option<PyBytes>> {
   529     ) -> PyResult<Option<PyBytes>> {
   530         Ok(Some(PyBytes::new(py, res.0.as_bytes())))
   530         Ok(Some(PyBytes::new(py, res.0.as_bytes())))
   531     }
   531     }
   532     fn translate_key_value(
   532     fn translate_key_value(
   533         py: Python,
   533         py: Python,
   534         res: (&HgPath, &DirstateEntry),
   534         res: (&HgPath, DirstateEntry),
   535     ) -> PyResult<Option<(PyBytes, PyObject)>> {
   535     ) -> PyResult<Option<(PyBytes, PyObject)>> {
   536         let (f, entry) = res;
   536         let (f, entry) = res;
   537         Ok(Some((
   537         Ok(Some((
   538             PyBytes::new(py, f.as_bytes()),
   538             PyBytes::new(py, f.as_bytes()),
   539             make_dirstate_tuple(py, &entry)?,
   539             make_dirstate_tuple(py, &entry)?,