DnfPackageSet * pyseq_to_packageset(PyObject *obj, DnfSack *sack) { PyObject *sequence = PySequence_Fast(obj, "Expected a sequence."); if (sequence == NULL) return NULL; DnfPackageSet *pset = dnf_packageset_new(sack); const unsigned count = PySequence_Size(sequence); for (unsigned int i = 0; i < count; ++i) { PyObject *item = PySequence_Fast_GET_ITEM(sequence, i); if (item == NULL) goto fail; DnfPackage *pkg = packageFromPyObject(item); if (pkg == NULL) goto fail; dnf_packageset_add(pset, pkg); } Py_DECREF(sequence); return pset; fail: g_object_unref(pset); Py_DECREF(sequence); return NULL; }
static PyObject * evr_cmp(_PackageObject *self, PyObject *other) { HyPackage pkg2 = packageFromPyObject(other); if (pkg2 == NULL) return NULL; return PyLong_FromLong(hy_package_evr_cmp(self->package, pkg2)); }
int package_converter(PyObject *o, HyPackage *pkg_ptr) { HyPackage pkg = packageFromPyObject(o); if (pkg == NULL) return 0; *pkg_ptr = pkg; return 1; }
static PyObject * get_reason(_GoalObject *self, PyObject *pkg) { HifPackage *cpkg = packageFromPyObject(pkg); if (cpkg == NULL) return NULL; int reason = hy_goal_get_reason(self->goal, cpkg); return PyLong_FromLong(reason); }
static PyObject * downgrade_to(_GoalObject *self, PyObject *pkg_obj) { HifPackage *pkg = packageFromPyObject(pkg_obj); if (pkg == NULL) return NULL; if (hy_goal_downgrade_to(self->goal, pkg)) Py_RETURN_FALSE; Py_RETURN_TRUE; }
static PyObject * obsoleted_by_package(_GoalObject *self, PyObject *pkg) { HifPackage *cpkg = packageFromPyObject(pkg); if (cpkg == NULL) return NULL; GPtrArray *plist = hy_goal_list_obsoleted_by_package(self->goal, cpkg); PyObject *list = packagelist_to_pylist(plist, self->sack); g_ptr_array_unref(plist); return list; }
static PyObject * obsoleted_by_package(_GoalObject *self, PyObject *pkg) { HyPackage cpkg = packageFromPyObject(pkg); if (cpkg == NULL) return NULL; HyPackageList plist = hy_goal_list_obsoleted_by_package(self->goal, cpkg); PyObject *list = packagelist_to_pylist(plist, self->sack); hy_packagelist_free(plist); return list; }
static PyObject * userinstalled(_GoalObject *self, PyObject *pkg) { HifPackage *cpkg = packageFromPyObject(pkg); int ret; if (cpkg == NULL) return NULL; ret = hy_goal_userinstalled(self->goal, cpkg); if (!ret) Py_RETURN_TRUE; Py_RETURN_FALSE; }