]> git.ipfire.org Git - pakfire.git/commitdiff
python: Drop reference to Pakfire from Request
authorMichael Tremer <michael.tremer@ipfire.org>
Sat, 20 Jan 2018 14:17:59 +0000 (15:17 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Sat, 20 Jan 2018 14:17:59 +0000 (15:17 +0100)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/_pakfire/request.c
src/_pakfire/request.h
src/_pakfire/step.c
src/_pakfire/transaction.c

index 13e4bfdd3440322dff7e1a2b06009c54f2d0e3b5..24eba0abbe9b7c996823f283051425d7531e1f82 100644 (file)
@@ -37,17 +37,14 @@ static PyObject* Request_new(PyTypeObject* type, PyObject* args, PyObject* kwds)
        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);
 }
 
@@ -57,10 +54,9 @@ static int Request_init(RequestObject* self, PyObject* args, PyObject* kwds) {
        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;
 }
index 1782482199e563d11f1adb21d4e709e9184935a5..763975cb67929330877ae14fb562aaae1b4ad16a 100644 (file)
 
 #include <Python.h>
 
-#include <pakfire/request.h>
-
-#include "pakfire.h"
+#include <pakfire/types.h>
 
 typedef struct {
        PyObject_HEAD
-       PakfireObject* pakfire;
        PakfireRequest request;
 } RequestObject;
 
index 6ff0c8bbdf099aaea503541410c9df5889849f97..c8cba3271b17ae42e84262e7139be1335125b20d 100644 (file)
@@ -99,8 +99,7 @@ static PyObject* Step_repr(StepObject* self) {
 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;
index ee394a89723f4d4f5f013c950e300946ad73367e..3585ff8c00aef3f9e46566a40d338105fec8ad00 100644 (file)
@@ -22,6 +22,7 @@
 
 #include <pakfire/package.h>
 #include <pakfire/packagelist.h>
+#include <pakfire/request.h>
 #include <pakfire/transaction.h>
 
 #include "package.h"