diff --git a/doc/ext/docscrape.py b/doc/ext/docscrape.py index ad5998cc..85e9d4a5 100644 --- a/doc/ext/docscrape.py +++ b/doc/ext/docscrape.py @@ -9,6 +9,15 @@ import pydoc from StringIO import StringIO from warnings import warn +# Python2/3 compatibility +import sys +PY2 = sys.version_info[0] == 2 +if PY2: + iteritems = lambda d: d.iteritems() +else: + iteritems = lambda d: d.items() + + class Reader(object): """A line-based string reader. @@ -369,7 +378,7 @@ class NumpyDocString(object): idx = self['index'] out = [] out += ['.. index:: %s' % idx.get('default','')] - for section, references in idx.iteritems(): + for section, references in iteritems(idx): if section == 'default': continue out += [' :%s: %s' % (section, ', '.join(references))] diff --git a/doc/ext/docscrape_sphinx.py b/doc/ext/docscrape_sphinx.py index 9f4350d4..45e73670 100644 --- a/doc/ext/docscrape_sphinx.py +++ b/doc/ext/docscrape_sphinx.py @@ -2,6 +2,15 @@ import re, inspect, textwrap, pydoc import sphinx from docscrape import NumpyDocString, FunctionDoc, ClassDoc +# Python2/3 compatibility +import sys +PY2 = sys.version_info[0] == 2 +if PY2: + iteritems = lambda d: d.iteritems() +else: + iteritems = lambda d: d.items() + + class SphinxDocString(NumpyDocString): def __init__(self, docstring, config={}): self.use_plots = config.get('use_plots', False) @@ -127,7 +136,7 @@ class SphinxDocString(NumpyDocString): return out out += ['.. index:: %s' % idx.get('default','')] - for section, references in idx.iteritems(): + for section, references in iteritems(idx): if section == 'default': continue elif section == 'refguide': diff --git a/doc/ext/plot_directive.py b/doc/ext/plot_directive.py index dc86552b..1b706f38 100644 --- a/doc/ext/plot_directive.py +++ b/doc/ext/plot_directive.py @@ -132,6 +132,14 @@ except ImportError: def format_template(template, **kw): return jinja.from_string(template, **kw) +# Python2/3 compatibility +import sys +PY2 = sys.version_info[0] == 2 +if PY2: + iteritems = lambda d: d.iteritems() +else: + iteritems = lambda d: d.items() + import matplotlib import matplotlib.cbook as cbook matplotlib.use('Agg') @@ -234,7 +242,7 @@ def mark_plot_labels(app, document): the "htmlonly" (or "latexonly") node to the actual figure node itself. """ - for name, explicit in document.nametypes.iteritems(): + for name, explicit in iteritems(document.nametypes): if not explicit: continue labelid = document.nameids[name] diff --git a/skimage/viewer/plugins/base.py b/skimage/viewer/plugins/base.py index aa6b585a..13604695 100644 --- a/skimage/viewer/plugins/base.py +++ b/skimage/viewer/plugins/base.py @@ -7,6 +7,15 @@ from ..qt.QtCore import Qt from ..utils import RequiredAttr, init_qtapp +# Python2/3 compatibility +import sys +PY2 = sys.version_info[0] == 2 +if PY2: + iteritems = lambda d: d.iteritems() +else: + iteritems = lambda d: d.items() + + class Plugin(QtGui.QDialog): """Base class for plugins that interact with an ImageViewer. @@ -153,7 +162,7 @@ class Plugin(QtGui.QDialog): return arguments = [self._get_value(a) for a in self.arguments] kwargs = dict([(name, self._get_value(a)) - for name, a in self.keyword_arguments.iteritems()]) + for name, a in iteritems(self.keyword_arguments)]) filtered = self.image_filter(*arguments, **kwargs) self.display_filtered_image(filtered) diff --git a/skimage/viewer/utils/core.py b/skimage/viewer/utils/core.py index 0b97d8c3..642e8aa7 100644 --- a/skimage/viewer/utils/core.py +++ b/skimage/viewer/utils/core.py @@ -21,6 +21,13 @@ except ImportError: from ..qt import QtGui +# Python2/3 compatibility +import sys +PY2 = sys.version_info[0] == 2 +if PY2: + iteritems = lambda d: d.iteritems() +else: + iteritems = lambda d: d.items() __all__ = ['init_qtapp', 'start_qtapp', 'RequiredAttr', 'figimage', 'LinearColormap', 'ClearColormap', 'FigureCanvas', 'new_plot'] @@ -81,7 +88,7 @@ class LinearColormap(LinearSegmentedColormap): """ def __init__(self, name, segmented_data, **kwargs): segmented_data = dict((key, [(x, y, y) for x, y in value]) - for key, value in segmented_data.iteritems()) + for key, value in iteritems(segmented_data)) LinearSegmentedColormap.__init__(self, name, segmented_data, **kwargs)