From 431d72091d35faa992e9922b219da931e1b62024 Mon Sep 17 00:00:00 2001 From: Tomoko Uchida Date: Sun, 22 Nov 2015 17:54:57 +0900 Subject: [PATCH] MecabBinder should support both of Python 2 and 3. --- sphinx/search/ja.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/sphinx/search/ja.py b/sphinx/search/ja.py index 3c9ee88fdb..23de74d371 100644 --- a/sphinx/search/ja.py +++ b/sphinx/search/ja.py @@ -21,7 +21,7 @@ import os import re import sys -from six import iteritems +from six import iteritems, PY3 try: import MeCab @@ -43,13 +43,16 @@ class MecabBinder(object): self.dict_encode = options.get('dic_enc', 'utf-8') def split(self, input): - input2 = input.encode(self.dict_encode) + input2 = input if PY3 else input.encode(self.dict_encode) if native_module: result = self.native.parse(input2) else: result = self.ctypes_libmecab.mecab_sparse_tostr( self.ctypes_mecab, input.encode(self.dict_encode)) - return result.decode(self.dict_encode).split(' ') + if PY3: + return result.split(' ') + else: + return result.decode(self.dict_encode).split(' ') def init_native(self, options): param = '-Owakati'