Add 2-to-3 support for the itertools moved to builtins or renamed.

This commit is contained in:
Raymond Hettinger 2008-03-13 16:43:17 +00:00
parent d51e842a3f
commit 10f40a6b5a
1 changed files with 25 additions and 0 deletions

View File

@ -1445,6 +1445,11 @@ imap_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
imapobject *lz;
Py_ssize_t numargs, i;
if (Py_Py3kWarningFlag &&
PyErr_Warn(PyExc_DeprecationWarning,
"In 3.x, itertools.imap() was moved to builtin map()") < 0)
return NULL;
if (type == &imap_type && !_PyArg_NoKeywords("imap()", kwds))
return NULL;
@ -2536,6 +2541,11 @@ ifilter_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
PyObject *it;
ifilterobject *lz;
if (Py_Py3kWarningFlag &&
PyErr_Warn(PyExc_DeprecationWarning,
"In 3.x, itertools.ifilter() was moved to builtin filter().") < 0)
return NULL;
if (type == &ifilter_type && !_PyArg_NoKeywords("ifilter()", kwds))
return NULL;
@ -2679,6 +2689,11 @@ ifilterfalse_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
PyObject *it;
ifilterfalseobject *lz;
if (Py_Py3kWarningFlag &&
PyErr_Warn(PyExc_DeprecationWarning,
"In 3.x, ifilterfalse() was renamed to filterfalse().") < 0)
return NULL;
if (type == &ifilterfalse_type &&
!_PyArg_NoKeywords("ifilterfalse()", kwds))
return NULL;
@ -2985,6 +3000,11 @@ izip_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
PyObject *result;
Py_ssize_t tuplesize = PySequence_Length(args);
if (Py_Py3kWarningFlag &&
PyErr_Warn(PyExc_DeprecationWarning,
"In 3.x, itertools.izip() was moved to builtin zip()") < 0)
return NULL;
if (type == &izip_type && !_PyArg_NoKeywords("izip()", kwds))
return NULL;
@ -3321,6 +3341,11 @@ izip_longest_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
PyObject *fillvalue = Py_None;
Py_ssize_t tuplesize = PySequence_Length(args);
if (Py_Py3kWarningFlag &&
PyErr_Warn(PyExc_DeprecationWarning,
"In 3.x, izip_longest() is renamed to zip_longest().") < 0)
return NULL;
if (kwds != NULL && PyDict_CheckExact(kwds) && PyDict_Size(kwds) > 0) {
fillvalue = PyDict_GetItemString(kwds, "fillvalue");
if (fillvalue == NULL || PyDict_Size(kwds) > 1) {