RequestObject* self = (RequestObject *)type->tp_alloc(type, 0);
if (self) {
self->request = NULL;
- self->pakfire = NULL;
}
return (PyObject *)self;
}
static void Request_dealloc(RequestObject* self) {
- if (self->request)
- pakfire_request_unref(self->request);
+ pakfire_request_unref(self->request);
- Py_XDECREF(self->pakfire);
Py_TYPE(self)->tp_free((PyObject *)self);
}
if (!PyArg_ParseTuple(args, "O!", &PakfireType, &pakfire))
return -1;
- self->pakfire = pakfire;
- Py_INCREF(self->pakfire);
-
- self->request = pakfire_request_create(self->pakfire->pakfire);
+ self->request = pakfire_request_create(pakfire->pakfire);
+ if (!self->request)
+ return -1;
return 0;
}
static PyObject* Step_get_package(StepObject* self) {
PakfirePackage package = pakfire_step_get_package(self->step);
- PyObject* obj = new_package(self->transaction->request->pakfire,
- pakfire_package_id(package));
+ PyObject* obj = new_package(&PackageType, package);
pakfire_package_unref(package);
return obj;
#include <pakfire/package.h>
#include <pakfire/packagelist.h>
+#include <pakfire/request.h>
#include <pakfire/transaction.h>
#include "package.h"