Skip to content

Commit 0292da3

Browse files
committed
Define PSUTIL_ADD_INT macro to remove boilerplate of PyModule_AddIntConstant
1 parent 6ccec8c commit 0292da3

8 files changed

Lines changed: 240 additions & 397 deletions

File tree

psutil/_psutil_aix.c

Lines changed: 26 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -911,6 +911,31 @@ static PyMethodDef PsutilMethods[] = {
911911
extern "C" {
912912
#endif
913913

914+
static int
915+
psutil_add_constants(PyObject *mod) {
916+
PSUTIL_ADD_INT(mod, "version", PSUTIL_VERSION);
917+
PSUTIL_ADD_INT(mod, "SIDL", SIDL);
918+
PSUTIL_ADD_INT(mod, "SZOMB", SZOMB);
919+
PSUTIL_ADD_INT(mod, "SACTIVE", SACTIVE);
920+
PSUTIL_ADD_INT(mod, "SSWAP", SSWAP);
921+
PSUTIL_ADD_INT(mod, "SSTOP", SSTOP);
922+
PSUTIL_ADD_INT(mod, "TCPS_CLOSED", TCPS_CLOSED);
923+
PSUTIL_ADD_INT(mod, "TCPS_CLOSING", TCPS_CLOSING);
924+
PSUTIL_ADD_INT(mod, "TCPS_CLOSE_WAIT", TCPS_CLOSE_WAIT);
925+
PSUTIL_ADD_INT(mod, "TCPS_LISTEN", TCPS_LISTEN);
926+
PSUTIL_ADD_INT(mod, "TCPS_ESTABLISHED", TCPS_ESTABLISHED);
927+
PSUTIL_ADD_INT(mod, "TCPS_SYN_SENT", TCPS_SYN_SENT);
928+
PSUTIL_ADD_INT(mod, "TCPS_SYN_RCVD", TCPS_SYN_RECEIVED);
929+
PSUTIL_ADD_INT(mod, "TCPS_FIN_WAIT_1", TCPS_FIN_WAIT_1);
930+
PSUTIL_ADD_INT(mod, "TCPS_FIN_WAIT_2", TCPS_FIN_WAIT_2);
931+
PSUTIL_ADD_INT(mod, "TCPS_LAST_ACK", TCPS_LAST_ACK);
932+
PSUTIL_ADD_INT(mod, "TCPS_TIME_WAIT", TCPS_TIME_WAIT);
933+
PSUTIL_ADD_INT(mod, "PSUTIL_CONN_NONE", PSUTIL_CONN_NONE);
934+
935+
return 0;
936+
}
937+
938+
914939
static int
915940
psutil_aix_exec(PyObject *mod) {
916941
if (psutil_setup() != 0)
@@ -921,42 +946,7 @@ psutil_aix_exec(PyObject *mod) {
921946
return -1;
922947
if (psutil_add_exceptions(mod) != 0)
923948
return -1;
924-
925-
if (PyModule_AddIntConstant(mod, "version", PSUTIL_VERSION))
926-
return -1;
927-
if (PyModule_AddIntConstant(mod, "SIDL", SIDL))
928-
return -1;
929-
if (PyModule_AddIntConstant(mod, "SZOMB", SZOMB))
930-
return -1;
931-
if (PyModule_AddIntConstant(mod, "SACTIVE", SACTIVE))
932-
return -1;
933-
if (PyModule_AddIntConstant(mod, "SSWAP", SSWAP))
934-
return -1;
935-
if (PyModule_AddIntConstant(mod, "SSTOP", SSTOP))
936-
return -1;
937-
if (PyModule_AddIntConstant(mod, "TCPS_CLOSED", TCPS_CLOSED))
938-
return -1;
939-
if (PyModule_AddIntConstant(mod, "TCPS_CLOSING", TCPS_CLOSING))
940-
return -1;
941-
if (PyModule_AddIntConstant(mod, "TCPS_CLOSE_WAIT", TCPS_CLOSE_WAIT))
942-
return -1;
943-
if (PyModule_AddIntConstant(mod, "TCPS_LISTEN", TCPS_LISTEN))
944-
return -1;
945-
if (PyModule_AddIntConstant(mod, "TCPS_ESTABLISHED", TCPS_ESTABLISHED))
946-
return -1;
947-
if (PyModule_AddIntConstant(mod, "TCPS_SYN_SENT", TCPS_SYN_SENT))
948-
return -1;
949-
if (PyModule_AddIntConstant(mod, "TCPS_SYN_RCVD", TCPS_SYN_RECEIVED))
950-
return -1;
951-
if (PyModule_AddIntConstant(mod, "TCPS_FIN_WAIT_1", TCPS_FIN_WAIT_1))
952-
return -1;
953-
if (PyModule_AddIntConstant(mod, "TCPS_FIN_WAIT_2", TCPS_FIN_WAIT_2))
954-
return -1;
955-
if (PyModule_AddIntConstant(mod, "TCPS_LAST_ACK", TCPS_LAST_ACK))
956-
return -1;
957-
if (PyModule_AddIntConstant(mod, "TCPS_TIME_WAIT", TCPS_TIME_WAIT))
958-
return -1;
959-
if (PyModule_AddIntConstant(mod, "PSUTIL_CONN_NONE", PSUTIL_CONN_NONE))
949+
if (psutil_add_constants(mod) != 0)
960950
return -1;
961951

962952
return 0;

psutil/_psutil_bsd.c

Lines changed: 49 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -84,98 +84,70 @@ static PyMethodDef mod_methods[] = {
8484

8585

8686
static int
87-
psutil_bsd_exec(PyObject *mod) {
88-
if (psutil_setup() != 0)
89-
return -1;
90-
if (psutil_posix_add_constants(mod) != 0)
91-
return -1;
92-
if (psutil_posix_add_methods(mod) != 0)
93-
return -1;
94-
if (psutil_add_exceptions(mod) != 0)
95-
return -1;
96-
97-
if (PyModule_AddIntConstant(mod, "version", PSUTIL_VERSION))
98-
return -1;
87+
psutil_add_constants(PyObject *mod) {
88+
PSUTIL_ADD_INT(mod, "version", PSUTIL_VERSION);
9989

100-
// process status constants
90+
// process status constants
10191
#ifdef PSUTIL_FREEBSD
102-
if (PyModule_AddIntConstant(mod, "SIDL", SIDL))
103-
return -1;
104-
if (PyModule_AddIntConstant(mod, "SRUN", SRUN))
105-
return -1;
106-
if (PyModule_AddIntConstant(mod, "SSLEEP", SSLEEP))
107-
return -1;
108-
if (PyModule_AddIntConstant(mod, "SSTOP", SSTOP))
109-
return -1;
110-
if (PyModule_AddIntConstant(mod, "SZOMB", SZOMB))
111-
return -1;
112-
if (PyModule_AddIntConstant(mod, "SWAIT", SWAIT))
113-
return -1;
114-
if (PyModule_AddIntConstant(mod, "SLOCK", SLOCK))
115-
return -1;
92+
PSUTIL_ADD_INT(mod, "SIDL", SIDL);
93+
PSUTIL_ADD_INT(mod, "SRUN", SRUN);
94+
PSUTIL_ADD_INT(mod, "SSLEEP", SSLEEP);
95+
PSUTIL_ADD_INT(mod, "SSTOP", SSTOP);
96+
PSUTIL_ADD_INT(mod, "SZOMB", SZOMB);
97+
PSUTIL_ADD_INT(mod, "SWAIT", SWAIT);
98+
PSUTIL_ADD_INT(mod, "SLOCK", SLOCK);
11699
#elif PSUTIL_OPENBSD
117-
if (PyModule_AddIntConstant(mod, "SIDL", SIDL))
118-
return -1;
119-
if (PyModule_AddIntConstant(mod, "SRUN", SRUN))
120-
return -1;
121-
if (PyModule_AddIntConstant(mod, "SSLEEP", SSLEEP))
122-
return -1;
123-
if (PyModule_AddIntConstant(mod, "SSTOP", SSTOP))
124-
return -1;
125-
if (PyModule_AddIntConstant(mod, "SZOMB", SZOMB))
126-
return -1; // unused
127-
if (PyModule_AddIntConstant(mod, "SDEAD", SDEAD))
128-
return -1;
129-
if (PyModule_AddIntConstant(mod, "SONPROC", SONPROC))
130-
return -1;
100+
PSUTIL_ADD_INT(mod, "SIDL", SIDL);
101+
PSUTIL_ADD_INT(mod, "SRUN", SRUN);
102+
PSUTIL_ADD_INT(mod, "SSLEEP", SSLEEP);
103+
PSUTIL_ADD_INT(mod, "SSTOP", SSTOP);
104+
PSUTIL_ADD_INT(mod, "SZOMB", SZOMB); // unused
105+
PSUTIL_ADD_INT(mod, "SDEAD", SDEAD);
106+
PSUTIL_ADD_INT(mod, "SONPROC", SONPROC);
131107
#elif defined(PSUTIL_NETBSD)
132-
if (PyModule_AddIntConstant(mod, "SIDL", LSIDL))
133-
return -1;
134-
if (PyModule_AddIntConstant(mod, "SRUN", LSRUN))
135-
return -1;
136-
if (PyModule_AddIntConstant(mod, "SSLEEP", LSSLEEP))
137-
return -1;
138-
if (PyModule_AddIntConstant(mod, "SSTOP", LSSTOP))
139-
return -1;
140-
if (PyModule_AddIntConstant(mod, "SZOMB", LSZOMB))
141-
return -1;
108+
PSUTIL_ADD_INT(mod, "SIDL", LSIDL);
109+
PSUTIL_ADD_INT(mod, "SRUN", LSRUN);
110+
PSUTIL_ADD_INT(mod, "SSLEEP", LSSLEEP);
111+
PSUTIL_ADD_INT(mod, "SSTOP", LSSTOP);
112+
PSUTIL_ADD_INT(mod, "SZOMB", LSZOMB);
142113
#if __NetBSD_Version__ < 500000000
143-
if (PyModule_AddIntConstant(mod, "SDEAD", LSDEAD))
144-
return -1;
114+
PSUTIL_ADD_INT(mod, "SDEAD", LSDEAD);
145115
#endif
146-
if (PyModule_AddIntConstant(mod, "SONPROC", LSONPROC))
147-
return -1;
116+
PSUTIL_ADD_INT(mod, "SONPROC", LSONPROC);
148117
// unique to NetBSD
149-
if (PyModule_AddIntConstant(mod, "SSUSPENDED", LSSUSPENDED))
150-
return -1;
118+
PSUTIL_ADD_INT(mod, "SSUSPENDED", LSSUSPENDED);
151119
#endif
152120

153121
// connection status constants
154-
if (PyModule_AddIntConstant(mod, "TCPS_CLOSED", TCPS_CLOSED))
155-
return -1;
156-
if (PyModule_AddIntConstant(mod, "TCPS_CLOSING", TCPS_CLOSING))
157-
return -1;
158-
if (PyModule_AddIntConstant(mod, "TCPS_CLOSE_WAIT", TCPS_CLOSE_WAIT))
159-
return -1;
160-
if (PyModule_AddIntConstant(mod, "TCPS_LISTEN", TCPS_LISTEN))
161-
return -1;
162-
if (PyModule_AddIntConstant(mod, "TCPS_ESTABLISHED", TCPS_ESTABLISHED))
163-
return -1;
164-
if (PyModule_AddIntConstant(mod, "TCPS_SYN_SENT", TCPS_SYN_SENT))
165-
return -1;
166-
if (PyModule_AddIntConstant(mod, "TCPS_SYN_RECEIVED", TCPS_SYN_RECEIVED))
167-
return -1;
168-
if (PyModule_AddIntConstant(mod, "TCPS_FIN_WAIT_1", TCPS_FIN_WAIT_1))
122+
PSUTIL_ADD_INT(mod, "TCPS_CLOSED", TCPS_CLOSED);
123+
PSUTIL_ADD_INT(mod, "TCPS_CLOSING", TCPS_CLOSING);
124+
PSUTIL_ADD_INT(mod, "TCPS_CLOSE_WAIT", TCPS_CLOSE_WAIT);
125+
PSUTIL_ADD_INT(mod, "TCPS_LISTEN", TCPS_LISTEN);
126+
PSUTIL_ADD_INT(mod, "TCPS_ESTABLISHED", TCPS_ESTABLISHED);
127+
PSUTIL_ADD_INT(mod, "TCPS_SYN_SENT", TCPS_SYN_SENT);
128+
PSUTIL_ADD_INT(mod, "TCPS_SYN_RECEIVED", TCPS_SYN_RECEIVED);
129+
PSUTIL_ADD_INT(mod, "TCPS_FIN_WAIT_1", TCPS_FIN_WAIT_1);
130+
PSUTIL_ADD_INT(mod, "TCPS_FIN_WAIT_2", TCPS_FIN_WAIT_2);
131+
PSUTIL_ADD_INT(mod, "TCPS_LAST_ACK", TCPS_LAST_ACK);
132+
PSUTIL_ADD_INT(mod, "TCPS_TIME_WAIT", TCPS_TIME_WAIT);
133+
PSUTIL_ADD_INT(mod, "PSUTIL_CONN_NONE", 128);
134+
135+
return 0;
136+
}
137+
138+
139+
static int
140+
psutil_bsd_exec(PyObject *mod) {
141+
if (psutil_setup() != 0)
169142
return -1;
170-
if (PyModule_AddIntConstant(mod, "TCPS_FIN_WAIT_2", TCPS_FIN_WAIT_2))
143+
if (psutil_posix_add_constants(mod) != 0)
171144
return -1;
172-
if (PyModule_AddIntConstant(mod, "TCPS_LAST_ACK", TCPS_LAST_ACK))
145+
if (psutil_posix_add_methods(mod) != 0)
173146
return -1;
174-
if (PyModule_AddIntConstant(mod, "TCPS_TIME_WAIT", TCPS_TIME_WAIT))
147+
if (psutil_add_exceptions(mod) != 0)
175148
return -1;
176-
if (PyModule_AddIntConstant(mod, "PSUTIL_CONN_NONE", 128))
149+
if (psutil_add_constants(mod) != 0)
177150
return -1;
178-
179151
return 0;
180152
}
181153

psutil/_psutil_linux.c

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,17 @@ static PyMethodDef mod_methods[] = {
4747
};
4848

4949

50+
static int
51+
psutil_add_constants(PyObject *mod) {
52+
PSUTIL_ADD_INT(mod, "version", PSUTIL_VERSION);
53+
PSUTIL_ADD_INT(mod, "DUPLEX_HALF", DUPLEX_HALF);
54+
PSUTIL_ADD_INT(mod, "DUPLEX_FULL", DUPLEX_FULL);
55+
PSUTIL_ADD_INT(mod, "DUPLEX_UNKNOWN", DUPLEX_UNKNOWN);
56+
57+
return 0;
58+
}
59+
60+
5061
static int
5162
psutil_linux_exec(PyObject *mod) {
5263
if (psutil_setup() != 0)
@@ -57,16 +68,8 @@ psutil_linux_exec(PyObject *mod) {
5768
return -1;
5869
if (psutil_add_exceptions(mod) != 0)
5970
return -1;
60-
61-
if (PyModule_AddIntConstant(mod, "version", PSUTIL_VERSION))
62-
return -1;
63-
if (PyModule_AddIntConstant(mod, "DUPLEX_HALF", DUPLEX_HALF))
64-
return -1;
65-
if (PyModule_AddIntConstant(mod, "DUPLEX_FULL", DUPLEX_FULL))
71+
if (psutil_add_constants(mod) != 0)
6672
return -1;
67-
if (PyModule_AddIntConstant(mod, "DUPLEX_UNKNOWN", DUPLEX_UNKNOWN))
68-
return -1;
69-
7073
return 0;
7174
}
7275

psutil/_psutil_osx.c

Lines changed: 29 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,34 @@ static PyMethodDef mod_methods[] = {
5959
};
6060

6161

62+
static int
63+
psutil_add_constants(PyObject *mod) {
64+
PSUTIL_ADD_INT(mod, "version", PSUTIL_VERSION);
65+
// process status constants, defined in:
66+
// http://fxr.watson.org/fxr/source/bsd/sys/proc.h?v=xnu-792.6.70#L149
67+
PSUTIL_ADD_INT(mod, "SIDL", SIDL);
68+
PSUTIL_ADD_INT(mod, "SRUN", SRUN);
69+
PSUTIL_ADD_INT(mod, "SSLEEP", SSLEEP);
70+
PSUTIL_ADD_INT(mod, "SSTOP", SSTOP);
71+
PSUTIL_ADD_INT(mod, "SZOMB", SZOMB);
72+
// connection status constants
73+
PSUTIL_ADD_INT(mod, "TCPS_CLOSED", TCPS_CLOSED);
74+
PSUTIL_ADD_INT(mod, "TCPS_CLOSING", TCPS_CLOSING);
75+
PSUTIL_ADD_INT(mod, "TCPS_CLOSE_WAIT", TCPS_CLOSE_WAIT);
76+
PSUTIL_ADD_INT(mod, "TCPS_LISTEN", TCPS_LISTEN);
77+
PSUTIL_ADD_INT(mod, "TCPS_ESTABLISHED", TCPS_ESTABLISHED);
78+
PSUTIL_ADD_INT(mod, "TCPS_SYN_SENT", TCPS_SYN_SENT);
79+
PSUTIL_ADD_INT(mod, "TCPS_SYN_RECEIVED", TCPS_SYN_RECEIVED);
80+
PSUTIL_ADD_INT(mod, "TCPS_FIN_WAIT_1", TCPS_FIN_WAIT_1);
81+
PSUTIL_ADD_INT(mod, "TCPS_FIN_WAIT_2", TCPS_FIN_WAIT_2);
82+
PSUTIL_ADD_INT(mod, "TCPS_LAST_ACK", TCPS_LAST_ACK);
83+
PSUTIL_ADD_INT(mod, "TCPS_TIME_WAIT", TCPS_TIME_WAIT);
84+
PSUTIL_ADD_INT(mod, "PSUTIL_CONN_NONE", PSUTIL_CONN_NONE);
85+
86+
return 0;
87+
}
88+
89+
6290
static int
6391
psutil_osx_exec(PyObject *mod) {
6492
if (psutil_setup() != 0)
@@ -71,47 +99,8 @@ psutil_osx_exec(PyObject *mod) {
7199
return -1;
72100
if (psutil_add_exceptions(mod) != 0)
73101
return -1;
74-
75-
if (PyModule_AddIntConstant(mod, "version", PSUTIL_VERSION))
76-
return -1;
77-
// process status constants, defined in:
78-
// http://fxr.watson.org/fxr/source/bsd/sys/proc.h?v=xnu-792.6.70#L149
79-
if (PyModule_AddIntConstant(mod, "SIDL", SIDL))
80-
return -1;
81-
if (PyModule_AddIntConstant(mod, "SRUN", SRUN))
82-
return -1;
83-
if (PyModule_AddIntConstant(mod, "SSLEEP", SSLEEP))
84-
return -1;
85-
if (PyModule_AddIntConstant(mod, "SSTOP", SSTOP))
102+
if (psutil_add_constants(mod) != 0)
86103
return -1;
87-
if (PyModule_AddIntConstant(mod, "SZOMB", SZOMB))
88-
return -1;
89-
// connection status constants
90-
if (PyModule_AddIntConstant(mod, "TCPS_CLOSED", TCPS_CLOSED))
91-
return -1;
92-
if (PyModule_AddIntConstant(mod, "TCPS_CLOSING", TCPS_CLOSING))
93-
return -1;
94-
if (PyModule_AddIntConstant(mod, "TCPS_CLOSE_WAIT", TCPS_CLOSE_WAIT))
95-
return -1;
96-
if (PyModule_AddIntConstant(mod, "TCPS_LISTEN", TCPS_LISTEN))
97-
return -1;
98-
if (PyModule_AddIntConstant(mod, "TCPS_ESTABLISHED", TCPS_ESTABLISHED))
99-
return -1;
100-
if (PyModule_AddIntConstant(mod, "TCPS_SYN_SENT", TCPS_SYN_SENT))
101-
return -1;
102-
if (PyModule_AddIntConstant(mod, "TCPS_SYN_RECEIVED", TCPS_SYN_RECEIVED))
103-
return -1;
104-
if (PyModule_AddIntConstant(mod, "TCPS_FIN_WAIT_1", TCPS_FIN_WAIT_1))
105-
return -1;
106-
if (PyModule_AddIntConstant(mod, "TCPS_FIN_WAIT_2", TCPS_FIN_WAIT_2))
107-
return -1;
108-
if (PyModule_AddIntConstant(mod, "TCPS_LAST_ACK", TCPS_LAST_ACK))
109-
return -1;
110-
if (PyModule_AddIntConstant(mod, "TCPS_TIME_WAIT", TCPS_TIME_WAIT))
111-
return -1;
112-
if (PyModule_AddIntConstant(mod, "PSUTIL_CONN_NONE", PSUTIL_CONN_NONE))
113-
return -1;
114-
115104
return 0;
116105
}
117106

0 commit comments

Comments
 (0)