Skip to content

Commit b9019d1

Browse files
committed
Python 3 update, removed debugging info
1 parent ac775f6 commit b9019d1

File tree

2 files changed

+44
-5
lines changed

2 files changed

+44
-5
lines changed

.gitignore

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@ build/
22
_build/
33
*~
44
*.pyc
5-
getdns.so
6-
getdns.cpython-34m.so
5+
*.so
76
*.save
87
doc/_build/
98
doc/_build/*

context.c

Lines changed: 43 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1474,8 +1474,6 @@ context_config(getdns_ContextObject *self, PyObject *args, PyObject *keywds)
14741474
}
14751475
getdns_config = pdict_to_gdict(py_config);
14761476
char buf[4096];
1477-
getdns_pretty_snprint_dict(buf, 4096, getdns_config);
1478-
printf("%s\n", buf);
14791477
if ((ret = getdns_context_config(context, getdns_config)) != GETDNS_RETURN_GOOD) {
14801478
PyErr_SetString(getdns_error, getdns_get_errorstr_by_id(ret));
14811479
return NULL;
@@ -1505,12 +1503,26 @@ pdict_to_gdict(PyObject *py_dict)
15051503
for ( i = 0 ; i < keys_size ; i++ ) {
15061504
key = PyList_GetItem(py_keys, i);
15071505
py_item = PyDict_GetItem(py_dict, key);
1508-
if (PyInt_Check(py_item))
1506+
#if PY_MAJOR_VERSION >= 3
1507+
if (PyLong_Check(py_item))
1508+
(void)getdns_dict_set_int(g_dict, PyBytes_AsString(PyUnicode_AsEncodedString(key, "ascii", NULL)), (uint32_t)PyLong_AsLong(py_item));
1509+
#else
1510+
if (PyInt_Check(py_item))
15091511
(void)getdns_dict_set_int(g_dict, PyString_AsString(key), (uint32_t)PyInt_AsLong(py_item));
1512+
#endif
1513+
#if PY_MAJOR_VERSION >= 3
1514+
else if (PyUnicode_Check(py_item)) {
1515+
#else
15101516
else if (PyString_Check(py_item)) {
1517+
#endif
15111518
getdns_bindata g_bindata;
1519+
#if PY_MAJOR_VERSION >= 3
1520+
char *str = PyBytes_AsString(PyUnicode_AsEncodedString(py_item, "ascii", NULL));
1521+
keystr = PyBytes_AsString(PyUnicode_AsEncodedString(key, "ascii", NULL));
1522+
#else
15121523
char *str = PyString_AsString(py_item);
15131524
keystr = PyString_AsString(key);
1525+
#endif
15141526
if (!strncmp(keystr, "address_data", strlen("address_data"))) {
15151527
int af;
15161528
char buf[16];
@@ -1531,12 +1543,27 @@ pdict_to_gdict(PyObject *py_dict)
15311543
g_bindata.data = (uint8_t *)str;
15321544
g_bindata.size = strlen(str);
15331545
}
1546+
#if PY_MAJOR_VERSION >= 3
1547+
(void)getdns_dict_set_bindata(g_dict, PyBytes_AsString(
1548+
PyUnicode_AsEncodedString(key, "ascii", NULL)),
1549+
&g_bindata);
1550+
} else if (PyList_Check(py_item)) {
1551+
getdns_list *tmp_list = plist_to_glist(py_item);
1552+
getdns_dict_set_list(g_dict, PyBytes_AsString(
1553+
PyUnicode_AsEncodedString(key, "ascii", NULL)),
1554+
tmp_list);
1555+
} else if (PyDict_Check(py_dict))
1556+
getdns_dict_set_dict(g_dict, PyBytes_AsString(
1557+
PyUnicode_AsEncodedString(key, "ascii", NULL)),
1558+
pdict_to_gdict(py_item));
1559+
#else
15341560
(void)getdns_dict_set_bindata(g_dict, PyString_AsString(key), &g_bindata);
15351561
} else if (PyList_Check(py_item)) {
15361562
getdns_list *tmp_list = plist_to_glist(py_item);
15371563
getdns_dict_set_list(g_dict, PyString_AsString(key), tmp_list);
15381564
} else if (PyDict_Check(py_dict))
15391565
getdns_dict_set_dict(g_dict, PyString_AsString(key), pdict_to_gdict(py_item));
1566+
#endif
15401567
}
15411568
return g_dict;
15421569
}
@@ -1557,11 +1584,24 @@ plist_to_glist(PyObject *py_list)
15571584
list_size = PyList_Size(py_list);
15581585
for ( i = 0 ; i < list_size ; i++ ) {
15591586
py_item = PyList_GetItem(py_list, i);
1587+
#if PY_MAJOR_VERSION >= 3
1588+
if (PyLong_Check(py_item))
1589+
(void)getdns_list_set_int(g_list, (int)i, (uint32_t)PyLong_AsLong(py_item));
1590+
#else
15601591
if (PyInt_Check(py_item))
15611592
(void)getdns_list_set_int(g_list, (int)i, (uint32_t)PyInt_AsLong(py_item));
1593+
#endif
1594+
#if PY_MAJOR_VERSION >= 3
1595+
else if (PyUnicode_Check(py_item)) {
1596+
#else
15621597
else if (PyString_Check(py_item)) {
1598+
#endif
15631599
getdns_bindata g_bindata;
1600+
#if PY_MAJOR_VERSION >= 3
1601+
char *str = PyBytes_AsString(PyUnicode_AsEncodedString(py_item, "ascii", NULL));
1602+
#else
15641603
char *str = PyString_AsString(py_item);
1604+
#endif
15651605
g_bindata.size = strlen(str);
15661606
g_bindata.data = (uint8_t *)str;
15671607
(void)getdns_list_set_bindata(g_list, (int)i, &g_bindata);

0 commit comments

Comments
 (0)