return 0;
}
+static PyObject* Repo_get_baseurl(RepoObject* self) {
+ const char* baseurl = pakfire_repo_get_baseurl(self->repo);
+
+ return PyUnicode_FromString(baseurl);
+}
+
+static int Repo_set_baseurl(RepoObject* self, PyObject* value) {
+ const char* baseurl = PyUnicode_AsUTF8(value);
+
+ return pakfire_repo_set_baseurl(self->repo, baseurl);
+}
+
static PyObject* Repo_read_solv(RepoObject* self, PyObject* args) {
const char* filename = NULL;
};
static struct PyGetSetDef Repo_getsetters[] = {
+ {
+ "baseurl",
+ (getter)Repo_get_baseurl,
+ (setter)Repo_set_baseurl,
+ "The base URL of this repository",
+ NULL
+ },
{
"name",
(getter)Repo_get_name,
int pakfire_repo_get_priority(PakfireRepo repo);
void pakfire_repo_set_priority(PakfireRepo repo, int priority);
+const char* pakfire_repo_get_baseurl(PakfireRepo repo);
+int pakfire_repo_set_baseurl(PakfireRepo repo, const char* baseurl);
+
int pakfire_repo_is_installed_repo(PakfireRepo repo);
int pakfire_repo_read_solv(PakfireRepo repo, const char* filename, int flags);
pakfire_repo_count;
pakfire_repo_clean;
pakfire_repo_create;
+ pakfire_repo_get_baseurl;
pakfire_repo_get_cache;
pakfire_repo_get_name;
pakfire_repo_get_enabled;
pakfire_repo_read_solv;
pakfire_repo_read_solv_fp;
pakfire_repo_ref;
+ pakfire_repo_set_baseurl;
pakfire_repo_set_enabled;
pakfire_repo_set_name;
pakfire_repo_set_priority;
struct pakfire_repo_appdata {
Repodata* repodata;
+
+ char* baseurl;
};
struct _PakfireRepo {
static void free_repo_appdata(struct pakfire_repo_appdata* appdata) {
// repodata is being destroyed with the repository
+
+ if (appdata->baseurl)
+ pakfire_free(appdata->baseurl);
+
pakfire_free(appdata);
}
repo->repo->priority = priority;
}
+PAKFIRE_EXPORT const char* pakfire_repo_get_baseurl(PakfireRepo repo) {
+ return repo->appdata->baseurl;
+}
+
+PAKFIRE_EXPORT int pakfire_repo_set_baseurl(PakfireRepo repo, const char* baseurl) {
+ if (repo->appdata->baseurl)
+ pakfire_free(repo->appdata->baseurl);
+
+ repo->appdata->baseurl = pakfire_strdup(baseurl);
+ 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
+ self.baseurl = self.settings.get("baseurl")
+
# Enabled/disable the repository, based on the configuration setting.
enabled = self.settings.get("enabled", True)
self.enabled = util.is_enabled(enabled)
- @property
- def baseurl(self):
- return self.settings.get("baseurl")
-
@property
def keyfile(self):
keyfile = self.settings.get("keyfile", None)