pkg.friendly_version, pkg.arch)
# Save metadata.
- solvable.set_vendor(pkg.vendor)
- solvable.set_hash1(pkg.hash1)
+ if pkg.vendor:
+ solvable.set_vendor(pkg.vendor)
+
+ hash1 = pkg.hash1
+ assert hash1
+ solvable.set_hash1(hash1)
+
+ assert pkg.uuid
solvable.set_uuid(pkg.uuid)
- solvable.set_maintainer(pkg.maintainer)
- solvable.set_groups(" ".join(pkg.groups))
+
+ if pkg.maintainer:
+ solvable.set_maintainer(pkg.maintainer)
+
+ if pkg.groups:
+ solvable.set_groups(" ".join(pkg.groups))
# Save upstream information (summary, description, license, url).
- solvable.set_summary(pkg.summary)
- solvable.set_description(pkg.description)
- solvable.set_license(pkg.license)
- solvable.set_url(pkg.url)
+ if pkg.summary:
+ solvable.set_summary(pkg.summary)
+
+ if pkg.description:
+ solvable.set_description(pkg.description)
+
+ if pkg.license:
+ solvable.set_license(pkg.license)
+
+ if pkg.url:
+ solvable.set_url(pkg.url)
# Save build information.
- solvable.set_buildhost(pkg.build_host)
- solvable.set_buildtime(pkg.build_time)
+ if pkg.build_host:
+ solvable.set_buildhost(pkg.build_host)
+
+ if pkg.build_time:
+ solvable.set_buildtime(pkg.build_time)
# Save filename.
filename = os.path.basename(pkg.filename)
+ assert filename
solvable.set_filename(filename)
+
solvable.set_downloadsize(pkg.size)
solvable.set_installsize(pkg.inst_size)
i += 1
pb.update(i)
- # XXX currently broken
- #self.add_package(pkg)
+ self.add_package(pkg)
if pb:
pb.finish()
if (!PyArg_ParseTuple(args, "Oss|s", &repo, &name, &evr, &arch)) {
/* XXX raise exception */
+ return NULL;
}
self = (SolvableObject *)type->tp_alloc(type, 0);
PyObject *Solvable_dealloc(SolvableObject *self) {
self->ob_type->tp_free((PyObject *)self);
+
+ Py_RETURN_NONE;
}
PyObject *Solvable_get_name(SolvableObject *self) {
const char *vendor;
if (!PyArg_ParseTuple(args, "s", &vendor)) {
/* XXX raise exception */
+ return NULL;
}
solvable->vendor = pool_str2id(self->_pool, vendor, 1);
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);
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);
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);
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);
if (!PyArg_ParseTuple(args, "s", &uuid)) {
/* XXX raise exception */
+ return NULL;
}
repo_set_str(solv->repo, self->_id, SOLVABLE_PKGID, uuid);
if (!PyArg_ParseTuple(args, "s", &hash1)) {
/* XXX raise exception */
+ return NULL;
}
repo_set_str(solv->repo, self->_id, SOLVABLE_CHECKSUM, hash1);
if (!PyArg_ParseTuple(args, "s", &summary)) {
/* XXX raise exception */
+ return NULL;
}
repo_set_str(solv->repo, self->_id, SOLVABLE_SUMMARY, summary);
if (!PyArg_ParseTuple(args, "s", &desc)) {
/* XXX raise exception */
+ return NULL;
}
repo_set_str(solv->repo, self->_id, SOLVABLE_DESCRIPTION, desc);
if (!PyArg_ParseTuple(args, "s", &url)) {
/* XXX raise exception */
+ return NULL;
}
repo_set_str(solv->repo, self->_id, SOLVABLE_URL, url);
if (!PyArg_ParseTuple(args, "s", &groups)) {
/* XXX raise exception */
+ return NULL;
}
repo_set_str(solv->repo, self->_id, SOLVABLE_GROUP, groups);
if (!PyArg_ParseTuple(args, "s", &filename)) {
/* XXX raise exception */
+ return NULL;
}
repo_set_str(solv->repo, self->_id, SOLVABLE_MEDIAFILE, filename);
if (!PyArg_ParseTuple(args, "s", &license)) {
/* XXX raise exception */
+ return NULL;
}
repo_set_str(solv->repo, self->_id, SOLVABLE_LICENSE, license);
if (!PyArg_ParseTuple(args, "s", &buildhost)) {
/* XXX raise exception */
+ return NULL;
}
repo_set_str(solv->repo, self->_id, SOLVABLE_BUILDHOST, buildhost);
if (!PyArg_ParseTuple(args, "s", &maintainer)) {
/* XXX raise exception */
+ return NULL;
}
repo_set_str(solv->repo, self->_id, SOLVABLE_PACKAGER, maintainer);
if (!PyArg_ParseTuple(args, "i", &downloadsize)) {
/* XXX raise exception */
+ return NULL;
}
repo_set_num(solv->repo, self->_id, SOLVABLE_DOWNLOADSIZE, downloadsize);
if (!PyArg_ParseTuple(args, "i", &installedsize)) {
/* XXX raise exception */
+ return NULL;
}
repo_set_num(solv->repo, self->_id, SOLVABLE_INSTALLSIZE, installedsize);
if (!PyArg_ParseTuple(args, "i", &buildtime)) {
/* XXX raise exception */
+ return NULL;
}
repo_set_num(solv->repo, self->_id, SOLVABLE_BUILDTIME, buildtime);