# TODO: migrate relevant documentation from C-side
class TransactionSet(_rpmts):
_probFilter = 0
- # FIXME: kludge for keeping refcounts on transaction element keys
- _keyList = []
def _wrapSetGet(self, attr, val):
oval = getattr(self, attr)
if not _rpmts.addInstall(self, header, key, upgrade):
raise rpm.error("adding package to transaction failed")
- self._keyList.append(key)
def addErase(self, item):
hdrs = []
PyObject_HEAD
PyObject *md_dict; /*!< to look like PyModuleObject */
rpmfdObject *scriptFd;
+ PyObject *keyList;
rpmts ts;
rpmtsi tsi;
};
return NULL;
rc = rpmtsAddInstallElement(s->ts, h, key, how, NULL);
+ if (key && rc == 0) {
+ PyList_Append(s->keyList, key);
+ }
return PyBool_FromLong((rc == 0));
}
s->ts = rpmtsFree(s->ts);
Py_XDECREF(s->scriptFd);
+ Py_XDECREF(s->keyList);
Py_TYPE(s)->tp_free((PyObject *)s);
}
s->ts = rpmtsCreate();
s->scriptFd = NULL;
s->tsi = NULL;
+ s->keyList = PyList_New(0);
return (PyObject *) s;
}