return pakfire_repo_set_baseurl(self->repo, baseurl);
}
+static PyObject* Repo_get_keyfile(RepoObject* self) {
+ const char* keyfile = pakfire_repo_get_keyfile(self->repo);
+
+ return PyUnicode_FromString(keyfile);
+}
+
+static int Repo_set_keyfile(RepoObject* self, PyObject* value) {
+ const char* keyfile = NULL;
+
+ if (value != Py_None)
+ keyfile = PyUnicode_AsUTF8(value);
+
+ return pakfire_repo_set_keyfile(self->repo, keyfile);
+}
+
static PyObject* Repo_read_solv(RepoObject* self, PyObject* args) {
const char* filename = NULL;
"The base URL of this repository",
NULL
},
+ {
+ "keyfile",
+ (getter)Repo_get_keyfile,
+ (setter)Repo_set_keyfile,
+ NULL,
+ NULL
+ },
{
"name",
(getter)Repo_get_name,
const char* pakfire_repo_get_baseurl(PakfireRepo repo);
int pakfire_repo_set_baseurl(PakfireRepo repo, const char* baseurl);
+const char* pakfire_repo_get_keyfile(PakfireRepo repo);
+int pakfire_repo_set_keyfile(PakfireRepo repo, const char* keyfile);
+
int pakfire_repo_is_installed_repo(PakfireRepo repo);
int pakfire_repo_read_solv(PakfireRepo repo, const char* filename, int flags);
pakfire_repo_get_cache;
pakfire_repo_get_name;
pakfire_repo_get_enabled;
+ pakfire_repo_get_keyfile;
pakfire_repo_get_pakfire;
pakfire_repo_get_pool;
pakfire_repo_get_priority;
pakfire_repo_ref;
pakfire_repo_set_baseurl;
pakfire_repo_set_enabled;
+ pakfire_repo_set_keyfile;
pakfire_repo_set_name;
pakfire_repo_set_priority;
pakfire_repo_write_solv;
Repodata* repodata;
char* baseurl;
+ char* keyfile;
};
struct _PakfireRepo {
if (appdata->baseurl)
pakfire_free(appdata->baseurl);
+ if (appdata->keyfile)
+ pakfire_free(appdata->keyfile);
+
pakfire_free(appdata);
}
return 0;
}
+PAKFIRE_EXPORT const char* pakfire_repo_get_keyfile(PakfireRepo repo) {
+ return repo->appdata->keyfile;
+}
+
+PAKFIRE_EXPORT int pakfire_repo_set_keyfile(PakfireRepo repo, const char* keyfile) {
+ if (repo->appdata->keyfile)
+ pakfire_free(repo->appdata->keyfile);
+
+ if (keyfile)
+ repo->appdata->keyfile = pakfire_strdup(keyfile);
+ else
+ repo->appdata->keyfile = NULL;
+
+ return 0;
+}
+
PAKFIRE_EXPORT int pakfire_repo_is_installed_repo(PakfireRepo repo) {
PakfireRepo installed_repo = pakfire_get_installed_repo(repo->pakfire);
# Save the settings that come from the configuration file
self.settings = settings
- # Set the baseurl
+ # Set the baseurl & keyfile
self.baseurl = self.settings.get("baseurl")
+ self.keyfile = self.settings.get("keyfile", None) or self.settings.get("gpgkey", None)
# Enabled/disable the repository, based on the configuration setting.
enabled = self.settings.get("enabled", True)
self.enabled = util.is_enabled(enabled)
- @property
- def keyfile(self):
- keyfile = self.settings.get("keyfile", None)
-
- if keyfile is None:
- keyfile = self.settings.get("gpgkey", None)
-
- return keyfile
-
def make_downloader(self):
"""
Creates a downloader that can be used to download