106 if (result == NULL) {
125 return Py_BuildValue(
"i", hdrNum);
137 DEPRECATED_METHOD(
"use len(mi) instead");
141 return Py_BuildValue(
"i", rc);
152 PyObject *TagN = NULL;
156 char * kwlist[] = {
"tag",
"type",
"pattern", NULL};
158 if (!PyArg_ParseTupleAndKeywords(args, kwds,
"Ois:Pattern", kwlist,
159 &TagN, &type, &pattern))
163 PyErr_SetString(PyExc_TypeError,
"unknown tag type");
179 {
"next", (PyCFunction)
rpmmi_Next, METH_NOARGS,
181 - Retrieve next header that matches. Iterate directly in python if possible.\n" },
186 {
"pattern", (PyCFunction)
rpmmi_Pattern, METH_VARARGS|METH_KEYWORDS,
187 "mi.pattern(TagN, mire_type, pattern)\n\
188 - Set a secondary match pattern on tags from retrieved header.\n" },
215 PyVarObject_HEAD_INIT(&PyType_Type, 0)
231 PyObject_GenericGetAttr,
232 PyObject_GenericSetAttr,
236 #
if Py_TPFLAGS_HAVE_ITER
265 PyErr_SetString(
pyrpmError,
"out of memory creating rpmmiObject");
static PyObject * rpmmi_Pattern(rpmmiObject *s, PyObject *args, PyObject *kwds)
uint32_t rpmmiInstance(rpmmi mi)
Return header instance for current position of rpmdb iterator.
static PyObject * rpmmi_iternext(rpmmiObject *s)
rpmmiObject * rpmmi_Wrap(rpmmi mi)
struct rpmmiObject_s rpmmiObject
rpmmi rpmmiFree(rpmmi mi)
Destroy rpm database iterator.
static PyObject * rpmmi_Instance(rpmmiObject *s)
int rpmmiAddPattern(rpmmi mi, rpmTag tag, rpmMireMode mode, const char *pattern)
Add pattern to iterator selector.
static void rpmmi_dealloc(rpmmiObject *s)
static struct PyMethodDef rpmmi_methods[]
Header rpmmiNext(rpmmi mi)
Return next package header from iteration.
const char const char * pattern
Access RPM indices using Berkeley DB interface(s).
unsigned int rpmmiCount(rpmmi mi)
Return number of elements in rpm database iterator.
static PyObject * rpmmi_Next(rpmmiObject *s)
static PyObject * rpmmi_iter(rpmmiObject *s)
static PyObject * rpmmi_Count(rpmmiObject *s)