]> git.ipfire.org Git - people/ms/libloc.git/blobdiff - src/python/writer.c
Add license attribute to the database
[people/ms/libloc.git] / src / python / writer.c
index 9a37b0ee6247df0d8de6f61f9a15765f7c676ef4..e21e95b33786c4aac7a1ffa44f8535d355c347a6 100644 (file)
@@ -82,6 +82,24 @@ static int Writer_set_description(WriterObject* self, PyObject* value) {
        return 0;
 }
 
+static PyObject* Writer_get_license(WriterObject* self) {
+       const char* license = loc_writer_get_license(self->writer);
+
+       return PyUnicode_FromString(license);
+}
+
+static int Writer_set_license(WriterObject* self, PyObject* value) {
+       const char* license = PyUnicode_AsUTF8(value);
+
+       int r = loc_writer_set_license(self->writer, license);
+       if (r) {
+               PyErr_Format(PyExc_ValueError, "Could not set license: %s", license);
+               return r;
+       }
+
+       return 0;
+}
+
 static PyObject* Writer_add_as(WriterObject* self, PyObject* args) {
        struct loc_as* as;
        uint32_t number = 0;
@@ -172,6 +190,13 @@ static struct PyGetSetDef Writer_getsetters[] = {
                NULL,
                NULL,
        },
+       {
+               "license",
+               (getter)Writer_get_license,
+               (setter)Writer_set_license,
+               NULL,
+               NULL,
+       },
        {
                "vendor",
                (getter)Writer_get_vendor,