PyObject * Index_getitem(Index *self, PyObject *value) { int idx; git_index_entry *index_entry; idx = Index_get_position(self, value); if (idx == -1) return NULL; index_entry = git_index_get_byindex(self->index, idx); if (!index_entry) { PyErr_SetObject(PyExc_KeyError, value); return NULL; } return wrap_index_entry(index_entry, self); }
int Index_setitem(Index *self, PyObject *key, PyObject *value) { int err; int idx; if (value) { PyErr_SetString(PyExc_NotImplementedError, "set item on index not yet implemented"); return -1; } idx = Index_get_position(self, key); if (idx == -1) return -1; err = git_index_remove(self->index, idx); if (err < 0) { Error_set(err); return -1; } return 0; }