Beispiel #1
0
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;
}
Beispiel #4
0
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);
}
Beispiel #5
0
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;
}
Beispiel #6
0
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;
}
Beispiel #7
0
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;
}
Beispiel #8
0
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;
}