50 lines
1.4 KiB
Diff
50 lines
1.4 KiB
Diff
From f07ab5c1afa9b0b7105082a8617ec6a7657fc27e Mon Sep 17 00:00:00 2001
|
|
From: Panu Matilainen <pmatilai@redhat.com>
|
|
Date: Thu, 1 Sep 2011 08:31:04 +0300
|
|
Subject: [PATCH] Add method to reset + reload rpm configuration to python
|
|
bindings
|
|
|
|
---
|
|
python/rpmmodule.c | 18 ++++++++++++++++++
|
|
1 files changed, 18 insertions(+), 0 deletions(-)
|
|
|
|
diff --git a/python/rpmmodule.c b/python/rpmmodule.c
|
|
index d3e664a..2894882 100644
|
|
--- a/python/rpmmodule.c
|
|
+++ b/python/rpmmodule.c
|
|
@@ -114,6 +114,22 @@ static PyObject * doLog(PyObject * self, PyObject * args, PyObject *kwds)
|
|
Py_RETURN_NONE;
|
|
}
|
|
|
|
+static PyObject * reloadConfig(PyObject * self, PyObject * args, PyObject *kwds)
|
|
+{
|
|
+ char * target = NULL;
|
|
+ char * kwlist[] = { "target", NULL };
|
|
+ int rc;
|
|
+
|
|
+ if (!PyArg_ParseTupleAndKeywords(args, kwds, "|s", kwlist, &target))
|
|
+ return NULL;
|
|
+
|
|
+ rpmFreeMacros(NULL);
|
|
+ rpmFreeRpmrc();
|
|
+ rc = rpmReadConfigFiles(NULL, target) ;
|
|
+
|
|
+ return PyBool_FromLong(rc == 0);
|
|
+}
|
|
+
|
|
static PyMethodDef rpmModuleMethods[] = {
|
|
{ "addMacro", (PyCFunction) rpmmacro_AddMacro, METH_VARARGS|METH_KEYWORDS,
|
|
NULL },
|
|
@@ -148,6 +164,8 @@ static PyMethodDef rpmModuleMethods[] = {
|
|
NULL },
|
|
{ "setStats", (PyCFunction) setStats, METH_O,
|
|
NULL },
|
|
+ { "reloadConfig", (PyCFunction) reloadConfig, METH_VARARGS|METH_KEYWORDS,
|
|
+ NULL },
|
|
|
|
{ NULL }
|
|
} ;
|
|
--
|
|
1.7.4.4
|
|
|