]> git.ipfire.org Git - pakfire.git/commitdiff
buildservice: Export the URL
authorMichael Tremer <michael.tremer@ipfire.org>
Fri, 27 Oct 2023 16:22:08 +0000 (16:22 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Fri, 27 Oct 2023 16:22:08 +0000 (16:22 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/_pakfire/buildservice.c
src/libpakfire/buildservice.c
src/libpakfire/include/pakfire/buildservice.h
src/libpakfire/libpakfire.sym

index 8357a7b5efb9c359c1f072b2bc2d3a93d29151c9..2db33330b2d355d80c33729d221eab582bc7c25c 100644 (file)
@@ -56,6 +56,19 @@ static void BuildService_dealloc(BuildServiceObject* self) {
        Py_TYPE(self)->tp_free((PyObject *)self);
 }
 
+static PyObject* BuildService_get_url(BuildServiceObject* self) {
+       const char* url = NULL;
+
+       // Fetch the URL
+       url = pakfire_buildservice_get_url(self->service);
+       if (!url) {
+               PyErr_SetFromErrno(PyExc_OSError);
+               return NULL;
+       }
+
+       return PyUnicode_FromString(url);
+}
+
 static PyObject* BuildService_upload(BuildServiceObject* self, PyObject* args, PyObject* kwds) {
        const char* kwlist[] = { "path", "filename", NULL };
        const char* filename = NULL;
@@ -99,6 +112,17 @@ static struct PyMethodDef BuildService_methods[] = {
        { NULL },
 };
 
+static struct PyGetSetDef BuildService_getsetters[] = {
+       {
+               "url",
+               (getter)BuildService_get_url,
+               NULL,
+               NULL,
+               NULL
+       },
+    { NULL },
+};
+
 PyTypeObject BuildServiceType = {
        PyVarObject_HEAD_INIT(NULL, 0)
        tp_name:            "_pakfire.BuildService",
@@ -109,4 +133,5 @@ PyTypeObject BuildServiceType = {
        tp_init:            (initproc)BuildService_init,
        tp_doc:             "BuildService Object",
        tp_methods:         BuildService_methods,
+       tp_getset:          BuildService_getsetters,
 };
index dd731b8543c4d2baf67561abb5abb2bc6694e590..88cc31ce29f9b78b1ed86ec432e381e59a85261c 100644 (file)
@@ -184,6 +184,10 @@ PAKFIRE_EXPORT struct pakfire_buildservice* pakfire_buildservice_unref(
        return NULL;
 }
 
+PAKFIRE_EXPORT const char* pakfire_buildservice_get_url(struct pakfire_buildservice* service) {
+       return service->url;
+}
+
 static int pakfire_buildservice_create_xfer(struct pakfire_xfer** xfer,
                struct pakfire_buildservice* service, const char* url) {
        struct pakfire_xfer* t = NULL;
index 6fd6746d0933f61bbb609989bdcb01f71a8e2037..b711c03248911ccd5cc1a4c42e9fcecd9b8d71b4 100644 (file)
@@ -32,6 +32,8 @@ int pakfire_buildservice_create(struct pakfire_buildservice** service, struct pa
 struct pakfire_buildservice* pakfire_buildservice_ref(struct pakfire_buildservice* service);
 struct pakfire_buildservice* pakfire_buildservice_unref(struct pakfire_buildservice* service);
 
+const char* pakfire_buildservice_get_url(struct pakfire_buildservice* service);
+
 // Builds
 
 typedef enum pakfire_buildservice_build_flags {
index 3ecb40c34208961d4355e90c434852e3e0cb1e82..872d1a9e02284cc881d45b519e680a51584507c4 100644 (file)
@@ -93,6 +93,7 @@ global:
        pakfire_buildservice_get_repo;
        pakfire_buildservice_create_repo;
        pakfire_buildservice_delete_repo;
+       pakfire_buildservice_get_url;
 
        # dependencies
        pakfire_static_version_compare;