summaryrefslogtreecommitdiff
path: root/sphinx/setup_command.py
diff options
context:
space:
mode:
Diffstat (limited to 'sphinx/setup_command.py')
-rw-r--r--sphinx/setup_command.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/sphinx/setup_command.py b/sphinx/setup_command.py
index 07cd520c..7999bf59 100644
--- a/sphinx/setup_command.py
+++ b/sphinx/setup_command.py
@@ -14,6 +14,7 @@
import sys
import os
+import types
from StringIO import StringIO
from distutils.cmd import Command
@@ -98,6 +99,19 @@ class BuildDoc(Command):
return root
return None
+ # Overriding distutils' Command._ensure_stringlike which doesn't support
+ # unicode, causing finalize_options to fail if invoked again. Workaround
+ # for http://bugs.python.org/issue19570
+ def _ensure_stringlike(self, option, what, default=None):
+ val = getattr(self, option)
+ if val is None:
+ setattr(self, option, default)
+ return default
+ elif not isinstance(val, types.StringTypes):
+ raise DistutilsOptionError("'%s' must be a %s (got `%s`)"
+ % (option, what, val))
+ return val
+
def finalize_options(self):
if self.source_dir is None:
self.source_dir = self._guess_source_dir()