]> git.ipfire.org Git - pakfire.git/commitdiff
_pakfire: Make packages hashable
authorMichael Tremer <michael.tremer@ipfire.org>
Sat, 19 Nov 2022 13:24:03 +0000 (13:24 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Sat, 19 Nov 2022 13:24:03 +0000 (13:24 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/_pakfire/package.c

index dd3b0cbc5c25fa6d2c57d66f49c06ae7e44fd652..120fdf48f46c139bf425a5806517c649ccaf1d15 100644 (file)
@@ -76,6 +76,10 @@ static int Package_init(PackageObject* self, PyObject* args, PyObject* kwds) {
        return 0;
 }
 
+static Py_hash_t Package_hash(PackageObject* self) {
+       return pakfire_package_id(self->package);
+}
+
 static PyObject* Package_repr(PackageObject* self) {
        const char* nevra = pakfire_package_get_string(self->package, PAKFIRE_PKG_NEVRA);
 
@@ -971,6 +975,7 @@ PyTypeObject PackageType = {
        tp_doc:             "Package object",
        tp_methods:         Package_methods,
        tp_getset:          Package_getsetters,
+       tp_hash:            (hashfunc)Package_hash,
        tp_repr:            (reprfunc)Package_repr,
        tp_str:             (reprfunc)Package_str,
        tp_richcompare:     (richcmpfunc)Package_richcompare,