static int Package_init(PackageObject* self, PyObject* args, PyObject* kwds) {
PakfireObject* pakfire;
- int id = 0;
+ RepoObject* repo;
+ const char* name = NULL;
+ const char* evr = NULL;
+ const char* arch = NULL;
- if (!PyArg_ParseTuple(args, "O!|i", &PakfireType, &pakfire, &id))
+ if (!PyArg_ParseTuple(args, "O!O!sss", &PakfireType, &pakfire, &RepoType, &repo,
+ &name, &evr, &arch))
return -1;
- self->package = pakfire_package_create_from_solvable(pakfire->pakfire, (Id)id);
+ self->package = pakfire_package_create(pakfire->pakfire, repo->repo, name, evr, arch);
+ if (!self->package) {
+ PyErr_SetFromErrno(PyExc_OSError);
+ return -1;
+ }
return 0;
}
#include <pakfire/relationlist.h>
#include <pakfire/types.h>
-PakfirePackage pakfire_package_create_from_solvable(Pakfire pakfire, Id id);
-PakfirePackage pakfire_package_create(Pakfire pakfire, PakfireRepo repo, const char* name, const char* evr, const char* arch);
+PakfirePackage pakfire_package_create(Pakfire pakfire, PakfireRepo repo,
+ const char* name, const char* evr, const char* arch);
PakfirePackage pakfire_package_ref(PakfirePackage pkg);
PakfirePackage pakfire_package_unref(PakfirePackage pkg);
#ifdef PAKFIRE_PRIVATE
+PakfirePackage pakfire_package_create_from_solvable(Pakfire pakfire, Id id);
+
int pakfire_package_is_source(PakfirePackage pkg);
#endif
pakfire_package_add_suggests;
pakfire_package_cmp;
pakfire_package_create;
- pakfire_package_create_from_solvable;
pakfire_package_dump;
pakfire_package_get_arch;
pakfire_package_get_build_host;
pakfire_relation_unref(relation);
}
-PAKFIRE_EXPORT PakfirePackage pakfire_package_create_from_solvable(Pakfire pakfire, Id id) {
+PakfirePackage pakfire_package_create_from_solvable(Pakfire pakfire, Id id) {
PakfirePackage pkg = calloc(1, sizeof(*pkg));
if (!pkg)
return NULL;