1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
#include "rpmsystem-py.h"
#include "rpmps-py.h"
#include "debug.h"
struct rpmProblemObject_s {
PyObject_HEAD
PyObject *md_dict;
rpmProblem prob;
};
static char rpmprob_doc[] =
"";
static PyObject *rpmprob_get_type(rpmProblemObject *s, void *closure)
{
return Py_BuildValue("i", rpmProblemGetType(s->prob));
}
static PyObject *rpmprob_get_pkgnevr(rpmProblemObject *s, void *closure)
{
return Py_BuildValue("s", rpmProblemGetPkgNEVR(s->prob));
}
static PyObject *rpmprob_get_altnevr(rpmProblemObject *s, void *closure)
{
return Py_BuildValue("s", rpmProblemGetAltNEVR(s->prob));
}
static PyObject *rpmprob_get_key(rpmProblemObject *s, void *closure)
{
fnpyKey key = rpmProblemGetKey(s->prob);
if (key) {
return Py_BuildValue("O", rpmProblemGetKey(s->prob));
} else {
Py_RETURN_NONE;
}
}
static PyObject *rpmprob_get_str(rpmProblemObject *s, void *closure)
{
return Py_BuildValue("s", rpmProblemGetStr(s->prob));
}
static PyObject *rpmprob_get_num(rpmProblemObject *s, void *closure)
{
return Py_BuildValue("L", rpmProblemGetDiskNeed(s->prob));
}
static PyGetSetDef rpmprob_getseters[] = {
{ "type", (getter)rpmprob_get_type, NULL, NULL },
{ "pkgNEVR", (getter)rpmprob_get_pkgnevr, NULL, NULL },
{ "altNEVR", (getter)rpmprob_get_altnevr, NULL, NULL },
{ "key", (getter)rpmprob_get_key, NULL, NULL },
{ "_str", (getter)rpmprob_get_str, NULL, NULL },
{ "_num", (getter)rpmprob_get_num, NULL, NULL },
{ NULL }
};
static PyObject *rpmprob_str(rpmProblemObject *s)
{
char *str = rpmProblemString(s->prob);
PyObject *res = Py_BuildValue("s", str);
free(str);
return res;
}
static void rpmprob_dealloc(rpmProblemObject *s)
{
s->prob = rpmProblemFree(s->prob);
Py_TYPE(s)->tp_free((PyObject *)s);
}
PyTypeObject rpmProblem_Type = {
PyVarObject_HEAD_INIT(&PyType_Type, 0)
"rpm.prob", /* tp_name */
sizeof(rpmProblemObject), /* tp_basicsize */
0, /* tp_itemsize */
/* methods */
(destructor)rpmprob_dealloc, /* tp_dealloc */
0, /* tp_print */
(getattrfunc)0, /* tp_getattr */
(setattrfunc)0, /* tp_setattr */
0, /* tp_compare */
(reprfunc)0, /* tp_repr */
0, /* tp_as_number */
0, /* tp_as_sequence */
0, /* tp_as_mapping */
(hashfunc)0, /* tp_hash */
(ternaryfunc)0, /* tp_call */
(reprfunc)rpmprob_str, /* tp_str */
PyObject_GenericGetAttr, /* tp_getattro */
PyObject_GenericSetAttr, /* tp_setattro */
0, /* tp_as_buffer */
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE, /* tp_flags */
rpmprob_doc, /* tp_doc */
0, /* tp_traverse */
0, /* tp_clear */
(richcmpfunc)0, /* tp_richcompare */
0, /* tp_weaklistoffset */
0, /* tp_iter */
0, /* tp_iternext */
0, /* tp_methods */
0, /* tp_members */
rpmprob_getseters, /* tp_getset */
0, /* tp_base */
0, /* tp_dict */
0, /* tp_descr_get */
0, /* tp_descr_set */
0, /* tp_dictoffset */
0, /* tp_init */
0, /* tp_alloc */
(newfunc)0, /* tp_new */
0, /* tp_free */
0, /* tp_is_gc */
};
PyObject *rpmprob_Wrap(PyTypeObject *subtype, rpmProblem prob)
{
rpmProblemObject * s = (rpmProblemObject *)subtype->tp_alloc(subtype, 0);
if (s == NULL) return NULL;
s->prob = rpmProblemLink(prob);
return (PyObject *) s;
}
|