diff options
author | Stefan Behnel <stefan_ml@behnel.de> | 2015-07-25 19:40:01 +0200 |
---|---|---|
committer | Stefan Behnel <stefan_ml@behnel.de> | 2015-07-25 19:40:01 +0200 |
commit | 38abf1b65388fa723312b4c7aed36d9694454d36 (patch) | |
tree | 290ab846ff390876ca5a63a792a0253d69dc4de3 /Cython/Debugger/libpython.py | |
parent | caa2fe39d745680c616c091611f0e894832dd740 (diff) | |
download | cython-38abf1b65388fa723312b4c7aed36d9694454d36.tar.gz |
make dict iteration compatible with Py2/Py3
Diffstat (limited to 'Cython/Debugger/libpython.py')
-rw-r--r-- | Cython/Debugger/libpython.py | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/Cython/Debugger/libpython.py b/Cython/Debugger/libpython.py index 6c1cc3056..ca4e74d56 100644 --- a/Cython/Debugger/libpython.py +++ b/Cython/Debugger/libpython.py @@ -463,7 +463,7 @@ def _write_instance_repr(out, visited, name, pyop_attrdict, address): if isinstance(pyop_attrdict, PyDictObjectPtr): out.write('(') first = True - for pyop_arg, pyop_val in pyop_attrdict.iteritems(): + for pyop_arg, pyop_val in pyop_attrdict.items(): if not first: out.write(', ') first = False @@ -483,8 +483,7 @@ class InstanceProxy(object): def __repr__(self): if isinstance(self.attrdict, dict): - kwargs = ', '.join("%s=%r" % (arg, val) - for arg, val in self.attrdict.iteritems()) + kwargs = ', '.join("%s=%r" % (arg, val) for arg, val in self.attrdict.items()) return '<%s(%s) at remote 0x%x>' % ( self.cl_name, kwargs, self.address) else: @@ -693,7 +692,7 @@ class PyDictObjectPtr(PyObjectPtr): def iteritems(self): ''' Yields a sequence of (PyObjectPtr key, PyObjectPtr value) pairs, - analagous to dict.iteritems() + analagous to dict.items() ''' for i in safe_range(self.field('ma_mask') + 1): ep = self.field('ma_table') + i @@ -702,6 +701,8 @@ class PyDictObjectPtr(PyObjectPtr): pyop_key = PyObjectPtr.from_pyobject_ptr(ep['me_key']) yield (pyop_key, pyop_value) + items = iteritems + def proxyval(self, visited): # Guard against infinite loops: if self.as_address() in visited: @@ -709,7 +710,7 @@ class PyDictObjectPtr(PyObjectPtr): visited.add(self.as_address()) result = {} - for pyop_key, pyop_value in self.iteritems(): + for pyop_key, pyop_value in self.items(): proxy_key = pyop_key.proxyval(visited) proxy_value = pyop_value.proxyval(visited) result[proxy_key] = proxy_value @@ -724,7 +725,7 @@ class PyDictObjectPtr(PyObjectPtr): out.write('{') first = True - for pyop_key, pyop_value in self.iteritems(): + for pyop_key, pyop_value in self.items(): if not first: out.write(', ') first = False @@ -924,7 +925,7 @@ class PyFrameObjectPtr(PyObjectPtr): return pyop_globals = self.pyop_field('f_globals') - return pyop_globals.iteritems() + return iter(pyop_globals.items()) def iter_builtins(self): ''' @@ -935,7 +936,7 @@ class PyFrameObjectPtr(PyObjectPtr): return pyop_builtins = self.pyop_field('f_builtins') - return pyop_builtins.iteritems() + return iter(pyop_builtins.items()) def get_var_by_name(self, name): ''' |