From 6a49adf21e2fffac9ce7a404d8ff8f077575e4d8 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Mon, 15 Jan 2018 17:50:06 +0100 Subject: [PATCH] python: Drop Solvable type Signed-off-by: Michael Tremer --- Makefile.am | 2 - src/_pakfire/_pakfiremodule.c | 56 ---- src/_pakfire/solvable.c | 587 ---------------------------------- src/_pakfire/solvable.h | 110 ------- 4 files changed, 755 deletions(-) delete mode 100644 src/_pakfire/solvable.c delete mode 100644 src/_pakfire/solvable.h diff --git a/Makefile.am b/Makefile.am index 21f665c68..8d2967534 100644 --- a/Makefile.am +++ b/Makefile.am @@ -211,8 +211,6 @@ _pakfire_la_SOURCES = \ src/_pakfire/selector.h \ src/_pakfire/solution.c \ src/_pakfire/solution.h \ - src/_pakfire/solvable.c \ - src/_pakfire/solvable.h \ src/_pakfire/step.c \ src/_pakfire/step.h \ src/_pakfire/transaction.c \ diff --git a/src/_pakfire/_pakfiremodule.c b/src/_pakfire/_pakfiremodule.c index ca19a1426..0f73f0d43 100644 --- a/src/_pakfire/_pakfiremodule.c +++ b/src/_pakfire/_pakfiremodule.c @@ -40,7 +40,6 @@ #include "repo.h" #include "request.h" #include "solution.h" -#include "solvable.h" #include "step.h" #include "transaction.h" #include "util.h" @@ -56,54 +55,6 @@ static PyMethodDef pakfireModuleMethods[] = { { NULL, NULL, 0, NULL } }; -static PyMethodDef Solvable_methods[] = { - {"get_name", (PyCFunction)Solvable_get_name, METH_NOARGS, NULL}, - {"get_evr", (PyCFunction)Solvable_get_evr, METH_NOARGS, NULL}, - {"get_arch", (PyCFunction)Solvable_get_arch, METH_NOARGS, NULL}, - {"get_vendor", (PyCFunction)Solvable_get_vendor, METH_NOARGS, NULL}, - {"set_vendor", (PyCFunction)Solvable_set_vendor, METH_VARARGS, NULL}, - {"get_repo_name", (PyCFunction)Solvable_get_repo_name, METH_NOARGS, NULL}, - {"get_uuid", (PyCFunction)Solvable_get_uuid, METH_NOARGS, NULL}, - {"set_uuid", (PyCFunction)Solvable_set_uuid, METH_VARARGS, NULL}, - {"get_hash1", (PyCFunction)Solvable_get_hash1, METH_NOARGS, NULL}, - {"set_hash1", (PyCFunction)Solvable_set_hash1, METH_VARARGS, NULL}, - {"get_summary", (PyCFunction)Solvable_get_summary, METH_NOARGS, NULL}, - {"set_summary", (PyCFunction)Solvable_set_summary, METH_VARARGS, NULL}, - {"get_description", (PyCFunction)Solvable_get_description, METH_NOARGS, NULL}, - {"set_description", (PyCFunction)Solvable_set_description, METH_VARARGS, NULL}, - {"get_groups", (PyCFunction)Solvable_get_groups, METH_NOARGS, NULL}, - {"set_groups", (PyCFunction)Solvable_set_groups, METH_VARARGS, NULL}, - {"get_url", (PyCFunction)Solvable_get_url, METH_NOARGS, NULL}, - {"set_url", (PyCFunction)Solvable_set_url, METH_VARARGS, NULL}, - {"get_filename", (PyCFunction)Solvable_get_filename, METH_NOARGS, NULL}, - {"set_filename", (PyCFunction)Solvable_set_filename, METH_VARARGS, NULL}, - {"get_license", (PyCFunction)Solvable_get_license, METH_NOARGS, NULL}, - {"set_license", (PyCFunction)Solvable_set_license, METH_VARARGS, NULL}, - {"get_buildhost", (PyCFunction)Solvable_get_buildhost, METH_NOARGS, NULL}, - {"set_buildhost", (PyCFunction)Solvable_set_buildhost, METH_VARARGS, NULL}, - {"get_maintainer", (PyCFunction)Solvable_get_maintainer, METH_NOARGS, NULL}, - {"set_maintainer", (PyCFunction)Solvable_set_maintainer, METH_VARARGS, NULL}, - {"get_downloadsize", (PyCFunction)Solvable_get_downloadsize, METH_NOARGS, NULL}, - {"set_downloadsize", (PyCFunction)Solvable_set_downloadsize, METH_VARARGS, NULL}, - {"get_installsize", (PyCFunction)Solvable_get_installsize, METH_NOARGS, NULL}, - {"set_installsize", (PyCFunction)Solvable_set_installsize, METH_VARARGS, NULL}, - {"get_buildtime", (PyCFunction)Solvable_get_buildtime, METH_NOARGS, NULL}, - {"set_buildtime", (PyCFunction)Solvable_set_buildtime, METH_VARARGS, NULL}, - {"add_provides", (PyCFunction)Solvable_add_provides, METH_VARARGS, NULL}, - {"get_provides", (PyCFunction)Solvable_get_provides, METH_NOARGS, NULL}, - {"add_requires", (PyCFunction)Solvable_add_requires, METH_VARARGS, NULL}, - {"get_requires", (PyCFunction)Solvable_get_requires, METH_NOARGS, NULL}, - {"add_obsoletes", (PyCFunction)Solvable_add_obsoletes, METH_VARARGS, NULL}, - {"get_obsoletes", (PyCFunction)Solvable_get_obsoletes, METH_NOARGS, NULL}, - {"add_conflicts", (PyCFunction)Solvable_add_conflicts, METH_VARARGS, NULL}, - {"get_conflicts", (PyCFunction)Solvable_get_conflicts, METH_NOARGS, NULL}, - {"add_recommends", (PyCFunction)Solvable_add_recommends, METH_VARARGS, NULL}, - {"get_recommends", (PyCFunction)Solvable_get_recommends, METH_NOARGS, NULL}, - {"add_suggests", (PyCFunction)Solvable_add_suggests, METH_VARARGS, NULL}, - {"get_suggests", (PyCFunction)Solvable_get_suggests, METH_NOARGS, NULL}, - { NULL, NULL, 0, NULL } -}; - static struct PyModuleDef moduledef = { .m_base = PyModuleDef_HEAD_INIT, .m_name = "_pakfire", @@ -189,13 +140,6 @@ PyMODINIT_FUNC PyInit__pakfire(void) { Py_INCREF(&RepoType); PyModule_AddObject(module, "Repo", (PyObject *)&RepoType); - // Solvable - SolvableType.tp_methods = Solvable_methods; - if (PyType_Ready(&SolvableType) < 0) - return NULL; - Py_INCREF(&SolvableType); - PyModule_AddObject(module, "Solvable", (PyObject *)&SolvableType); - // Relation if (PyType_Ready(&RelationType) < 0) return NULL; diff --git a/src/_pakfire/solvable.c b/src/_pakfire/solvable.c deleted file mode 100644 index 999ff4357..000000000 --- a/src/_pakfire/solvable.c +++ /dev/null @@ -1,587 +0,0 @@ -/*############################################################################# -# # -# Pakfire - The IPFire package management system # -# Copyright (C) 2011 Pakfire development team # -# # -# This program is free software: you can redistribute it and/or modify # -# it under the terms of the GNU General Public License as published by # -# the Free Software Foundation, either version 3 of the License, or # -# (at your option) any later version. # -# # -# This program is distributed in the hope that it will be useful, # -# but WITHOUT ANY WARRANTY; without even the implied warranty of # -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # -# GNU General Public License for more details. # -# # -# You should have received a copy of the GNU General Public License # -# along with this program. If not, see . # -# # -#############################################################################*/ - -#include - -#include "constants.h" -#include "relation.h" -#include "repo.h" -#include "solvable.h" - -PyTypeObject SolvableType = { - PyVarObject_HEAD_INIT(NULL, 0) - tp_name: "_pakfire.Solvable", - tp_basicsize: sizeof(SolvableObject), - tp_flags: Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, - tp_new : Solvable_new, - tp_dealloc: (destructor) Solvable_dealloc, - tp_doc: "Sat Solvable objects", - tp_str: (reprfunc)Solvable_string, -}; - -// Solvable -PyObject* Solvable_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { - SolvableObject *self; - - RepoObject *repo; - const char *name; - const char *evr; - const char *arch = "noarch"; - - if (!PyArg_ParseTuple(args, "Oss|s", &repo, &name, &evr, &arch)) { - /* XXX raise exception */ - return NULL; - } - - self = (SolvableObject *)type->tp_alloc(type, 0); - if (self != NULL) { - self->_id = repo_add_solvable(repo->_repo); - self->_pool = repo->_repo->pool; - - /* Fill solvable with data. */ - Solvable *solv = pool_id2solvable(self->_pool, self->_id); - - solv->name = pool_str2id(self->_pool, name, 1); - solv->evr = pool_str2id(self->_pool, evr, 1); - solv->arch = pool_str2id(self->_pool, arch, 1); - - /* add self-provides */ - Id rel = pool_rel2id(self->_pool, solv->name, solv->evr, REL_EQ, 1); - solv->provides = repo_addid_dep(repo->_repo, solv->provides, rel, 0); - } - - return (PyObject *)self; -} - -PyObject *Solvable_dealloc(SolvableObject *self) { - Py_TYPE(self)->tp_free((PyObject *)self); - - Py_RETURN_NONE; -} - -PyObject *Solvable_string(SolvableObject *self) { - Solvable *solvable = pool_id2solvable(self->_pool, self->_id); - - const char *str = pool_solvable2str(self->_pool, solvable); - - return Py_BuildValue("s", str); -} - -PyObject *Solvable_get_name(SolvableObject *self) { - Solvable *solvable = pool_id2solvable(self->_pool, self->_id); - - const char *name = pool_id2str(self->_pool, solvable->name); - - return Py_BuildValue("s", name); -} - -PyObject *Solvable_get_evr(SolvableObject *self) { - Solvable *solvable = pool_id2solvable(self->_pool, self->_id); - - const char *evr = pool_id2str(self->_pool, solvable->evr); - - return Py_BuildValue("s", evr); -} - -PyObject *Solvable_get_arch(SolvableObject *self) { - Solvable *solvable = pool_id2solvable(self->_pool, self->_id); - - const char *arch = pool_id2str(self->_pool, solvable->arch); - - return Py_BuildValue("s", arch); -} - -PyObject *Solvable_get_vendor(SolvableObject *self) { - Solvable *solvable = pool_id2solvable(self->_pool, self->_id); - - const char *vendor = pool_id2str(self->_pool, solvable->vendor); - - return Py_BuildValue("s", vendor); -} - -PyObject *Solvable_set_vendor(SolvableObject *self, PyObject *args) { - Solvable *solvable = pool_id2solvable(self->_pool, self->_id); - - const char *vendor; - if (!PyArg_ParseTuple(args, "s", &vendor)) { - /* XXX raise exception */ - return NULL; - } - - solvable->vendor = pool_str2id(self->_pool, vendor, 1); - - Py_RETURN_NONE; -} - -PyObject *Solvable_get_repo_name(SolvableObject *self) { - Solvable *solvable = pool_id2solvable(self->_pool, self->_id); - assert(solvable->repo); - - return Py_BuildValue("s", solvable->repo->name); -} - -PyObject *Solvable_add_provides(SolvableObject *self, PyObject *args) { - Solvable *solv = pool_id2solvable(self->_pool, self->_id); - - RelationObject *rel; - if (!PyArg_ParseTuple(args, "O", &rel)) { - /* XXX raise exception */ - return NULL; - } - - solv->provides = repo_addid_dep(solv->repo, solv->provides, rel->_id, 0); - - Py_RETURN_NONE; -} - -PyObject *_Solvable_get_dependencies(Solvable *solv, Offset deps) { - Repo *repo = solv->repo; - Pool *pool = repo->pool; - - Id id, *ids; - const char *dep_str; - - PyObject *list = PyList_New(0); - - ids = repo->idarraydata + deps; - while((id = *ids++) != 0) { - dep_str = pool_dep2str(pool, id); - - // Do not include the filelist. - if (strcmp(dep_str, "solvable:filemarker") == 0) - break; - - PyList_Append(list, Py_BuildValue("s", dep_str)); - } - - return list; -} - -PyObject *Solvable_get_provides(SolvableObject *self) { - Solvable *solv = pool_id2solvable(self->_pool, self->_id); - - return _Solvable_get_dependencies(solv, solv->provides); -} - -PyObject *Solvable_add_requires(SolvableObject *self, PyObject *args) { - Solvable *solv = pool_id2solvable(self->_pool, self->_id); - - RelationObject *rel; - if (!PyArg_ParseTuple(args, "O", &rel)) { - /* XXX raise exception */ - return NULL; - } - - solv->requires = repo_addid_dep(solv->repo, solv->requires, rel->_id, 0); - - Py_RETURN_NONE; -} - -PyObject *Solvable_get_requires(SolvableObject *self) { - Solvable *solv = pool_id2solvable(self->_pool, self->_id); - - return _Solvable_get_dependencies(solv, solv->requires); -} - -PyObject *Solvable_add_obsoletes(SolvableObject *self, PyObject *args) { - Solvable *solv = pool_id2solvable(self->_pool, self->_id); - - RelationObject *rel; - if (!PyArg_ParseTuple(args, "O", &rel)) { - /* XXX raise exception */ - return NULL; - } - - solv->obsoletes = repo_addid_dep(solv->repo, solv->obsoletes, rel->_id, 0); - - Py_RETURN_NONE; -} - -PyObject *Solvable_get_obsoletes(SolvableObject *self) { - Solvable *solv = pool_id2solvable(self->_pool, self->_id); - - return _Solvable_get_dependencies(solv, solv->obsoletes); -} - -PyObject *Solvable_add_conflicts(SolvableObject *self, PyObject *args) { - Solvable *solv = pool_id2solvable(self->_pool, self->_id); - - RelationObject *rel; - if (!PyArg_ParseTuple(args, "O", &rel)) { - /* XXX raise exception */ - return NULL; - } - - solv->conflicts = repo_addid_dep(solv->repo, solv->conflicts, rel->_id, 0); - - Py_RETURN_NONE; -} - -PyObject *Solvable_get_conflicts(SolvableObject *self) { - Solvable *solv = pool_id2solvable(self->_pool, self->_id); - - return _Solvable_get_dependencies(solv, solv->conflicts); -} - -PyObject *Solvable_add_recommends(SolvableObject *self, PyObject *args) { - Solvable *solv = pool_id2solvable(self->_pool, self->_id); - - RelationObject *rel; - if (!PyArg_ParseTuple(args, "O", &rel)) { - return NULL; - } - - solv->recommends = repo_addid_dep(solv->repo, solv->recommends, rel->_id, 0); - Py_RETURN_NONE; -} - -PyObject *Solvable_get_recommends(SolvableObject *self) { - Solvable *solv = pool_id2solvable(self->_pool, self->_id); - - return _Solvable_get_dependencies(solv, solv->recommends); -} - -PyObject *Solvable_add_suggests(SolvableObject *self, PyObject *args) { - Solvable *solv = pool_id2solvable(self->_pool, self->_id); - - RelationObject *rel; - if (!PyArg_ParseTuple(args, "O", &rel)) { - return NULL; - } - - solv->suggests = repo_addid_dep(solv->repo, solv->suggests, rel->_id, 0); - Py_RETURN_NONE; -} - -PyObject *Solvable_get_suggests(SolvableObject *self) { - Solvable *solv = pool_id2solvable(self->_pool, self->_id); - - return _Solvable_get_dependencies(solv, solv->suggests); -} - -PyObject *Solvable_set_uuid(SolvableObject *self, PyObject *args) { - Solvable *solv = pool_id2solvable(self->_pool, self->_id); - - const char *uuid; - - if (!PyArg_ParseTuple(args, "s", &uuid)) { - /* XXX raise exception */ - return NULL; - } - - repo_set_str(solv->repo, self->_id, SOLVABLE_PKGID, uuid); - - Py_RETURN_NONE; -} - -PyObject *Solvable_get_uuid(SolvableObject *self) { - Solvable *solv = pool_id2solvable(self->_pool, self->_id); - - const char *uuid = repo_lookup_str(solv->repo, self->_id, SOLVABLE_PKGID); - - return Py_BuildValue("s", uuid); -} - -PyObject *Solvable_set_hash1(SolvableObject *self, PyObject *args) { - Solvable *solv = pool_id2solvable(self->_pool, self->_id); - - const char *hash1; - - if (!PyArg_ParseTuple(args, "s", &hash1)) { - /* XXX raise exception */ - return NULL; - } - - repo_set_str(solv->repo, self->_id, SOLVABLE_CHECKSUM, hash1); - - Py_RETURN_NONE; -} - -PyObject *Solvable_get_hash1(SolvableObject *self) { - Solvable *solv = pool_id2solvable(self->_pool, self->_id); - - const char *hash1 = repo_lookup_str(solv->repo, self->_id, SOLVABLE_CHECKSUM); - - return Py_BuildValue("s", hash1); -} - -PyObject *Solvable_set_summary(SolvableObject *self, PyObject *args) { - Solvable *solv = pool_id2solvable(self->_pool, self->_id); - - const char *summary; - - if (!PyArg_ParseTuple(args, "s", &summary)) { - /* XXX raise exception */ - return NULL; - } - - repo_set_str(solv->repo, self->_id, SOLVABLE_SUMMARY, summary); - - Py_RETURN_NONE; -} - -PyObject *Solvable_get_summary(SolvableObject *self) { - Solvable *solv = pool_id2solvable(self->_pool, self->_id); - - const char *summary = repo_lookup_str(solv->repo, self->_id, SOLVABLE_SUMMARY); - - return Py_BuildValue("s", summary); -} - -PyObject *Solvable_set_description(SolvableObject *self, PyObject *args) { - Solvable *solv = pool_id2solvable(self->_pool, self->_id); - - const char *desc; - - if (!PyArg_ParseTuple(args, "s", &desc)) { - /* XXX raise exception */ - return NULL; - } - - repo_set_str(solv->repo, self->_id, SOLVABLE_DESCRIPTION, desc); - - Py_RETURN_NONE; -} - -PyObject *Solvable_get_description(SolvableObject *self) { - Solvable *solv = pool_id2solvable(self->_pool, self->_id); - - const char *desc = repo_lookup_str(solv->repo, self->_id, - SOLVABLE_DESCRIPTION); - - return Py_BuildValue("s", desc); -} - -PyObject *Solvable_set_url(SolvableObject *self, PyObject *args) { - Solvable *solv = pool_id2solvable(self->_pool, self->_id); - - const char *url; - - if (!PyArg_ParseTuple(args, "s", &url)) { - /* XXX raise exception */ - return NULL; - } - - repo_set_str(solv->repo, self->_id, SOLVABLE_URL, url); - - Py_RETURN_NONE; -} - -PyObject *Solvable_get_url(SolvableObject *self) { - Solvable *solv = pool_id2solvable(self->_pool, self->_id); - - const char *url = repo_lookup_str(solv->repo, self->_id, SOLVABLE_URL); - - return Py_BuildValue("s", url); -} - -PyObject *Solvable_set_groups(SolvableObject *self, PyObject *args) { - Solvable *solv = pool_id2solvable(self->_pool, self->_id); - - const char *groups; - - if (!PyArg_ParseTuple(args, "s", &groups)) { - /* XXX raise exception */ - return NULL; - } - - repo_set_str(solv->repo, self->_id, SOLVABLE_GROUP, groups); - - Py_RETURN_NONE; -} - -PyObject *Solvable_get_groups(SolvableObject *self) { - Solvable *solv = pool_id2solvable(self->_pool, self->_id); - - const char *groups = repo_lookup_str(solv->repo, self->_id, SOLVABLE_GROUP); - - return Py_BuildValue("s", groups); -} - -PyObject *Solvable_set_filename(SolvableObject *self, PyObject *args) { - Solvable *solv = pool_id2solvable(self->_pool, self->_id); - - const char *filename; - - if (!PyArg_ParseTuple(args, "s", &filename)) { - /* XXX raise exception */ - return NULL; - } - - repo_set_str(solv->repo, self->_id, SOLVABLE_MEDIAFILE, filename); - - Py_RETURN_NONE; -} - -PyObject *Solvable_get_filename(SolvableObject *self) { - Solvable *solv = pool_id2solvable(self->_pool, self->_id); - - const char *filename = repo_lookup_str(solv->repo, self->_id, - SOLVABLE_MEDIAFILE); - - return Py_BuildValue("s", filename); -} - -PyObject *Solvable_set_license(SolvableObject *self, PyObject *args) { - Solvable *solv = pool_id2solvable(self->_pool, self->_id); - - const char *license; - - if (!PyArg_ParseTuple(args, "s", &license)) { - /* XXX raise exception */ - return NULL; - } - - repo_set_str(solv->repo, self->_id, SOLVABLE_LICENSE, license); - - Py_RETURN_NONE; -} - -PyObject *Solvable_get_license(SolvableObject *self) { - Solvable *solv = pool_id2solvable(self->_pool, self->_id); - - const char *license = repo_lookup_str(solv->repo, self->_id, - SOLVABLE_LICENSE); - - return Py_BuildValue("s", license); -} - -PyObject *Solvable_set_buildhost(SolvableObject *self, PyObject *args) { - Solvable *solv = pool_id2solvable(self->_pool, self->_id); - - const char *buildhost; - - if (!PyArg_ParseTuple(args, "s", &buildhost)) { - /* XXX raise exception */ - return NULL; - } - - repo_set_str(solv->repo, self->_id, SOLVABLE_BUILDHOST, buildhost); - - Py_RETURN_NONE; -} - -PyObject *Solvable_get_buildhost(SolvableObject *self) { - Solvable *solv = pool_id2solvable(self->_pool, self->_id); - - const char *buildhost = repo_lookup_str(solv->repo, self->_id, - SOLVABLE_BUILDHOST); - - return Py_BuildValue("s", buildhost); -} - -PyObject *Solvable_set_maintainer(SolvableObject *self, PyObject *args) { - Solvable *solv = pool_id2solvable(self->_pool, self->_id); - - const char *maintainer; - - if (!PyArg_ParseTuple(args, "s", &maintainer)) { - /* XXX raise exception */ - return NULL; - } - - repo_set_str(solv->repo, self->_id, SOLVABLE_PACKAGER, maintainer); - - Py_RETURN_NONE; -} - -PyObject *Solvable_get_maintainer(SolvableObject *self) { - Solvable *solv = pool_id2solvable(self->_pool, self->_id); - - const char *maintainer = repo_lookup_str(solv->repo, self->_id, - SOLVABLE_PACKAGER); - - return Py_BuildValue("s", maintainer); -} - -PyObject *Solvable_set_downloadsize(SolvableObject *self, PyObject *args) { - Solvable *solv = pool_id2solvable(self->_pool, self->_id); - - unsigned long long downloadsize; - - if (!PyArg_ParseTuple(args, "K", &downloadsize)) { - return NULL; - } - - repo_set_num(solv->repo, self->_id, SOLVABLE_DOWNLOADSIZE, downloadsize); - - Py_RETURN_NONE; -} - -PyObject *Solvable_get_downloadsize(SolvableObject *self) { - Solvable *solv = pool_id2solvable(self->_pool, self->_id); - - unsigned long long downloadsize = repo_lookup_num(solv->repo, self->_id, - SOLVABLE_DOWNLOADSIZE, 0); - - return Py_BuildValue("K", downloadsize); -} - -PyObject *Solvable_set_installsize(SolvableObject *self, PyObject *args) { - Solvable *solv = pool_id2solvable(self->_pool, self->_id); - - unsigned int installedsize; - - if (!PyArg_ParseTuple(args, "i", &installedsize)) { - /* XXX raise exception */ - return NULL; - } - - repo_set_num(solv->repo, self->_id, SOLVABLE_INSTALLSIZE, installedsize); - - Py_RETURN_NONE; -} - -PyObject *Solvable_get_installsize(SolvableObject *self) { - Solvable *solv = pool_id2solvable(self->_pool, self->_id); - - unsigned int installedsize = repo_lookup_num(solv->repo, self->_id, - SOLVABLE_INSTALLSIZE, 0); - - return Py_BuildValue("i", installedsize); -} - -PyObject *Solvable_set_buildtime(SolvableObject *self, PyObject *args) { - Solvable *solv = pool_id2solvable(self->_pool, self->_id); - - unsigned int buildtime; - - if (!PyArg_ParseTuple(args, "i", &buildtime)) { - /* XXX raise exception */ - return NULL; - } - - repo_set_num(solv->repo, self->_id, SOLVABLE_BUILDTIME, buildtime); - - Py_RETURN_NONE; -} - -PyObject *Solvable_get_buildtime(SolvableObject *self) { - Solvable *solv = pool_id2solvable(self->_pool, self->_id); - - unsigned int buildtime = repo_lookup_num(solv->repo, self->_id, - SOLVABLE_BUILDTIME, 0); - - if (buildtime == 0) - Py_RETURN_NONE; - - return Py_BuildValue("i", buildtime); -} - diff --git a/src/_pakfire/solvable.h b/src/_pakfire/solvable.h deleted file mode 100644 index caa41bc94..000000000 --- a/src/_pakfire/solvable.h +++ /dev/null @@ -1,110 +0,0 @@ -/*############################################################################# -# # -# Pakfire - The IPFire package management system # -# Copyright (C) 2011 Pakfire development team # -# # -# This program is free software: you can redistribute it and/or modify # -# it under the terms of the GNU General Public License as published by # -# the Free Software Foundation, either version 3 of the License, or # -# (at your option) any later version. # -# # -# This program is distributed in the hope that it will be useful, # -# but WITHOUT ANY WARRANTY; without even the implied warranty of # -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # -# GNU General Public License for more details. # -# # -# You should have received a copy of the GNU General Public License # -# along with this program. If not, see . # -# # -#############################################################################*/ - -#ifndef PYTHON_PAKFIRE_SOLVABLE_H -#define PYTHON_PAKFIRE_SOLVABLE_H - -#include - -#include - -// Sat Solvable object -typedef struct { - PyObject_HEAD - Pool *_pool; - Id _id; -} SolvableObject; - -extern PyObject* Solvable_new(PyTypeObject *type, PyObject *args, PyObject *kwds); -extern PyObject *Solvable_dealloc(SolvableObject *self); -extern PyObject *Solvable_string(SolvableObject *self); - -extern PyObject *Solvable_get_name(SolvableObject *self); -extern PyObject *Solvable_get_evr(SolvableObject *self); -extern PyObject *Solvable_get_arch(SolvableObject *self); - -extern PyObject *Solvable_get_vendor(SolvableObject *self); -extern PyObject *Solvable_set_vendor(SolvableObject *self, PyObject *args); - -extern PyObject *Solvable_get_repo_name(SolvableObject *self); - -extern PyObject *Solvable_get_uuid(SolvableObject *self); -extern PyObject *Solvable_set_uuid(SolvableObject *self, PyObject *args); - -extern PyObject *Solvable_get_hash1(SolvableObject *self); -extern PyObject *Solvable_set_hash1(SolvableObject *self, PyObject *args); - -extern PyObject *Solvable_get_summary(SolvableObject *self); -extern PyObject *Solvable_set_summary(SolvableObject *self, PyObject *args); - -extern PyObject *Solvable_get_description(SolvableObject *self); -extern PyObject *Solvable_set_description(SolvableObject *self, PyObject *args); - -extern PyObject *Solvable_get_groups(SolvableObject *self); -extern PyObject *Solvable_set_groups(SolvableObject *self, PyObject *args); - -extern PyObject *Solvable_get_url(SolvableObject *self); -extern PyObject *Solvable_set_url(SolvableObject *self, PyObject *args); - -extern PyObject *Solvable_get_filename(SolvableObject *self); -extern PyObject *Solvable_set_filename(SolvableObject *self, PyObject *args); - -extern PyObject *Solvable_get_license(SolvableObject *self); -extern PyObject *Solvable_set_license(SolvableObject *self, PyObject *args); - -extern PyObject *Solvable_get_buildhost(SolvableObject *self); -extern PyObject *Solvable_set_buildhost(SolvableObject *self, PyObject *args); - -extern PyObject *Solvable_get_maintainer(SolvableObject *self); -extern PyObject *Solvable_set_maintainer(SolvableObject *self, PyObject *args); - -extern PyObject *Solvable_get_downloadsize(SolvableObject *self); -extern PyObject *Solvable_set_downloadsize(SolvableObject *self, PyObject *args); - -extern PyObject *Solvable_get_installsize(SolvableObject *self); -extern PyObject *Solvable_set_installsize(SolvableObject *self, PyObject *args); - -extern PyObject *Solvable_get_buildtime(SolvableObject *self); -extern PyObject *Solvable_set_buildtime(SolvableObject *self, PyObject *args); - -// internal use only -extern PyObject *_Solvable_get_dependencies(Solvable *solv, Offset deps); - -extern PyObject *Solvable_add_provides(SolvableObject *self, PyObject *args); -extern PyObject *Solvable_get_provides(SolvableObject *self); - -extern PyObject *Solvable_add_requires(SolvableObject *self, PyObject *args); -extern PyObject *Solvable_get_requires(SolvableObject *self); - -extern PyObject *Solvable_add_obsoletes(SolvableObject *self, PyObject *args); -extern PyObject *Solvable_get_obsoletes(SolvableObject *self); - -extern PyObject *Solvable_add_conflicts(SolvableObject *self, PyObject *args); -extern PyObject *Solvable_get_conflicts(SolvableObject *self); - -extern PyObject *Solvable_add_recommends(SolvableObject *self, PyObject *args); -extern PyObject *Solvable_get_recommends(SolvableObject *self); - -extern PyObject *Solvable_add_suggests(SolvableObject *self, PyObject *args); -extern PyObject *Solvable_get_suggests(SolvableObject *self); - -extern PyTypeObject SolvableType; - -#endif /* PYTHON_PAKFIRE_SOLVABLE_H */ -- 2.39.5