From 636c14ef4a6ccf3493bf82595977b3bacf3ab192 Mon Sep 17 00:00:00 2001 From: Takayuki Shimizukawa Date: Fri, 26 Sep 2014 01:42:22 +0900 Subject: [PATCH] Now sphinx.ext.autodoc work with python-2.5 again, again. --- sphinx/application.py | 2 +- sphinx/util/pycompat.py | 4 +++- sphinx/writers/text.py | 5 +++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/sphinx/application.py b/sphinx/application.py index 7113b6058..2704df23f 100644 --- a/sphinx/application.py +++ b/sphinx/application.py @@ -17,7 +17,6 @@ import types import posixpath from os import path from cStringIO import StringIO -from collections import deque from docutils import nodes from docutils.parsers.rst import convert_directive_function, \ @@ -34,6 +33,7 @@ from sphinx.domains.std import GenericObject, Target, StandardDomain from sphinx.builders import BUILTIN_BUILDERS from sphinx.environment import BuildEnvironment, SphinxStandaloneReader from sphinx.util import pycompat # imported for side-effects +from sphinx.util.pycompat import deque from sphinx.util.tags import Tags from sphinx.util.osutil import ENOENT from sphinx.util.console import bold, lightgray, darkgray diff --git a/sphinx/util/pycompat.py b/sphinx/util/pycompat.py index c4598142f..aaac27087 100644 --- a/sphinx/util/pycompat.py +++ b/sphinx/util/pycompat.py @@ -75,7 +75,6 @@ else: import locale sys_encoding = locale.getpreferredencoding() # use Python 3 name - from itertools import izip_longest as zip_longest import __builtin__ as builtins @@ -198,6 +197,9 @@ else: f.write = MethodType(write, f) return f + from collections import deque as _deque + def deque(maxlen): + return _deque() # ------------------------------------------------------------------------------ # Missing builtins and codecs in Python < 2.5 diff --git a/sphinx/writers/text.py b/sphinx/writers/text.py index 82b0f452b..e6238364d 100644 --- a/sphinx/writers/text.py +++ b/sphinx/writers/text.py @@ -11,13 +11,14 @@ import os import re import textwrap -from itertools import groupby, izip_longest +from itertools import groupby from docutils import nodes, writers from docutils.utils import column_width from sphinx import addnodes from sphinx.locale import admonitionlabels, _ +from sphinx.util.pycompat import zip_longest class TextWrapper(textwrap.TextWrapper): @@ -503,7 +504,7 @@ class TextTranslator(nodes.NodeVisitor): self.add_text(''.join(out) + self.nl) def writerow(row): - lines = izip_longest(*row) + lines = zip_longest(*row) for line in lines: out = ['|'] for i, cell in enumerate(line):