# Reference to corresponding Repo object in the solver.
self.solver_repo = satsolver.Repo(self.pool, self.name)
+ self.solver_repo.set_priority(self.priority)
logging.debug("Initialized new repository: %s" % self)
def __init__(self, pakfire):
RepositoryFactory.__init__(self, pakfire, "dummy",
"This is a dummy repository.")
+
+ @property
+ def priority(self):
+ # This will never be used in the solving process, but still it needs
+ # a value.
+ return 0
class RepositorySolv(base.RepositoryFactory):
def __init__(self, pakfire, name, description, url, mirrorlist, gpgkey, enabled=True):
- base.RepositoryFactory.__init__(self, pakfire, name, description)
-
# Parse arguments.
self.url = url
self.gpgkey = gpgkey
self.mirrorlist = mirrorlist
+ base.RepositoryFactory.__init__(self, pakfire, name, description)
+
# Initialize mirror servers.
self.mirrors = downloader.MirrorList(self.pakfire, self)
{"size", (PyCFunction)Repo_size, METH_NOARGS, NULL},
{"get_enabled", (PyCFunction)Repo_get_enabled, METH_NOARGS, NULL},
{"set_enabled", (PyCFunction)Repo_set_enabled, METH_VARARGS, NULL},
+ {"get_priority", (PyCFunction)Repo_get_priority, METH_NOARGS, NULL},
+ {"set_priority", (PyCFunction)Repo_set_priority, METH_VARARGS, NULL},
{"write", (PyCFunction)Repo_write, METH_VARARGS, NULL},
{"read", (PyCFunction)Repo_read, METH_VARARGS, NULL},
{ NULL, NULL, 0, NULL }
Py_RETURN_NONE;
}
+PyObject *Repo_get_priority(RepoObject *self) {
+ Py_BuildValue("i", self->_repo->priority);
+}
+
+PyObject *Repo_set_priority(RepoObject *self, PyObject *args) {
+ int priority;
+
+ if (!PyArg_ParseTuple(args, "i", &priority)) {
+ /* XXX raise exception */
+ return NULL;
+ }
+
+ self->_repo->priority = priority;
+
+ Py_RETURN_NONE;
+}
+
PyObject *Repo_write(RepoObject *self, PyObject *args) {
const char *filename;
extern PyObject *Repo_size(RepoObject *self);
extern PyObject *Repo_get_enabled(RepoObject *self);
extern PyObject *Repo_set_enabled(RepoObject *self, PyObject *args);
+extern PyObject *Repo_get_priority(RepoObject *self);
+extern PyObject *Repo_set_priority(RepoObject *self, PyObject *args);
extern PyObject *Repo_write(RepoObject *self, PyObject *args);
extern PyObject *Repo_read(RepoObject *self, PyObject *args);