From 75e22ba522ded620fcd85379e3a39657c037c779 Mon Sep 17 00:00:00 2001 From: Takayuki Shimizukawa Date: Thu, 1 May 2014 20:14:19 +0900 Subject: [PATCH] delegate '__nonzero__' to '__bool__' for py2/py3 compatibility in one source. #1350 --- sphinx/ext/autodoc.py | 3 ++- sphinx/locale/__init__.py | 3 ++- tests/etree13/ElementTree.py | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/sphinx/ext/autodoc.py b/sphinx/ext/autodoc.py index 11b38d994..ab0810976 100644 --- a/sphinx/ext/autodoc.py +++ b/sphinx/ext/autodoc.py @@ -54,9 +54,10 @@ class DefDict(dict): return dict.__getitem__(self, key) except KeyError: return self.default - def __nonzero__(self): + def __bool__(self): # docutils check "if option_spec" return True + __nonzero__ = __bool__ # for python2 compatibility identity = lambda x: x diff --git a/sphinx/locale/__init__.py b/sphinx/locale/__init__.py index 75deac05c..9332f4745 100644 --- a/sphinx/locale/__init__.py +++ b/sphinx/locale/__init__.py @@ -60,8 +60,9 @@ class _TranslationProxy(UserString, object): def __contains__(self, key): return key in self.data - def __nonzero__(self): + def __bool__(self): return bool(self.data) + __nonzero__ = __bool__ # for python2 compatibility def __dir__(self): return dir(text_type) diff --git a/tests/etree13/ElementTree.py b/tests/etree13/ElementTree.py index 5342278c4..25ec1e057 100644 --- a/tests/etree13/ElementTree.py +++ b/tests/etree13/ElementTree.py @@ -246,7 +246,7 @@ class Element(object): def __len__(self): return len(self._children) - def __nonzero__(self): + def __bool__(self): import warnings warnings.warn( "The behavior of this method will change in future versions. " @@ -254,6 +254,7 @@ class Element(object): FutureWarning ) return len(self._children) != 0 # emulate old behaviour + __nonzero__ = __bool__ # for python2 compatibility ## # Returns the given subelement.