static PyObject* Package_new(PyTypeObject* type, PyObject* args, PyObject* kwds) {
PackageObject* self = (PackageObject *)type->tp_alloc(type, 0);
if (self) {
- self->ctx = NULL;
self->package = NULL;
}
static void Package_dealloc(PackageObject* self) {
if (self->package)
pakfire_package_unref(self->package);
- if (self->ctx)
- pakfire_ctx_unref(self->ctx);
Py_TYPE(self)->tp_free((PyObject *)self);
}
&PakfireType, &pakfire, &RepoType, &repo, &name, &evr, &arch))
return -1;
- // Store a reference to the context
- self->ctx = pakfire_ctx_ref(pakfire->ctx);
-
// Create the package object
r = pakfire_package_create(&self->package, pakfire->pakfire, repo->repo, name, evr, arch);
if (r < 0) {
+ errno = -r;
PyErr_SetFromErrno(PyExc_OSError);
return -1;
}