return 0;
}
+static PyObject* Repo_get_description(RepoObject* self) {
+ const char* description = pakfire_repo_get_description(self->repo);
+
+ return PyUnicode_FromString(description);
+}
+
+static int Repo_set_description(RepoObject* self, PyObject* value) {
+ const char* description = NULL;
+
+ if (value != Py_None)
+ description = PyUnicode_AsUTF8(value);
+
+ return pakfire_repo_set_description(self->repo, description);
+}
+
static PyObject* Repo_get_enabled(RepoObject* self) {
if (pakfire_repo_get_enabled(self->repo))
Py_RETURN_TRUE;
"The base URL of this repository",
NULL
},
+ {
+ "description",
+ (getter)Repo_get_description,
+ (setter)Repo_set_description,
+ NULL,
+ NULL
+ },
{
"keyfile",
(getter)Repo_get_keyfile,
const char* pakfire_repo_get_name(PakfireRepo repo);
void pakfire_repo_set_name(PakfireRepo repo, const char* name);
+const char* pakfire_repo_get_description(PakfireRepo repo);
+int pakfire_repo_set_description(PakfireRepo repo, const char* description);
+
int pakfire_repo_get_enabled(PakfireRepo repo);
void pakfire_repo_set_enabled(PakfireRepo repo, int enabled);
pakfire_repo_get_baseurl;
pakfire_repo_get_cache;
pakfire_repo_get_config;
+ pakfire_repo_get_description;
pakfire_repo_get_name;
pakfire_repo_get_enabled;
pakfire_repo_get_keyfile;
pakfire_repo_read_solv_fp;
pakfire_repo_ref;
pakfire_repo_set_baseurl;
+ pakfire_repo_set_description;
pakfire_repo_set_enabled;
pakfire_repo_set_keyfile;
pakfire_repo_set_mirrorlist;
struct pakfire_repo_appdata {
Repodata* repodata;
+ char* description;
char* baseurl;
char* keyfile;
char* mirrorlist;
static void free_repo_appdata(struct pakfire_repo_appdata* appdata) {
// repodata is being destroyed with the repository
+ if (appdata->description)
+ pakfire_free(appdata->description);
+
if (appdata->baseurl)
pakfire_free(appdata->baseurl);
repo->repo->name = pakfire_strdup(name);
}
+PAKFIRE_EXPORT const char* pakfire_repo_get_description(PakfireRepo repo) {
+ return repo->appdata->description;
+}
+
+PAKFIRE_EXPORT int pakfire_repo_set_description(PakfireRepo repo, const char* description) {
+ if (repo->appdata->description)
+ pakfire_free(repo->appdata->description);
+
+ if (description)
+ repo->appdata->description = pakfire_strdup(description);
+ else
+ repo->appdata->description = NULL;
+
+ return 0;
+}
+
PAKFIRE_EXPORT int pakfire_repo_get_enabled(PakfireRepo repo) {
return !repo->repo->disabled;
}