summaryrefslogtreecommitdiff
path: root/sphinx/websupport
diff options
context:
space:
mode:
authorDmitry Shachnev <mitya57@gmail.com>2016-05-18 11:48:36 +0300
committerDmitry Shachnev <mitya57@gmail.com>2016-05-25 17:23:56 +0300
commit94f2dc2843db9efbdbcfcef44f49cbd1bd7098cd (patch)
treec6007eac1a6f8732e3001a01eb6793f1261475ad /sphinx/websupport
parent03af1ca4dda22841bc616d134c3a101aa97c9a42 (diff)
downloadsphinx-git-94f2dc2843db9efbdbcfcef44f49cbd1bd7098cd.tar.gz
Make Xapian search work with Python 3
Diffstat (limited to 'sphinx/websupport')
-rw-r--r--sphinx/websupport/search/xapiansearch.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/sphinx/websupport/search/xapiansearch.py b/sphinx/websupport/search/xapiansearch.py
index ee9b33da7..1e43dcbe9 100644
--- a/sphinx/websupport/search/xapiansearch.py
+++ b/sphinx/websupport/search/xapiansearch.py
@@ -11,6 +11,8 @@
import xapian
+from six import string_types
+
from sphinx.util.osutil import ensuredir
from sphinx.websupport.search import BaseSearch
@@ -73,7 +75,10 @@ class XapianSearch(BaseSearch):
results = []
for m in matches:
- context = self.extract_context(m.document.get_data())
+ data = m.document.get_data()
+ if not isinstance(data, string_types):
+ data = data.decode("utf-8")
+ context = self.extract_context(data)
results.append((m.document.get_value(self.DOC_PATH),
m.document.get_value(self.DOC_TITLE),
''.join(context)))