Drop outdated workaround for distutils' Command._ensure_stringlike()

The issue applied to Python 2 only. The current override is identical to
the CPython implementation:

4b8cdfcb22/Lib/distutils/cmd.py (L207-L215)
This commit is contained in:
Jon Dufresne
2020-12-12 06:13:31 -08:00
parent 8faa8ba7ab
commit 0938bdb2a8

View File

@@ -14,7 +14,7 @@
import os import os
import sys import sys
from distutils.cmd import Command from distutils.cmd import Command
from distutils.errors import DistutilsExecError, DistutilsOptionError from distutils.errors import DistutilsExecError
from io import StringIO from io import StringIO
from sphinx.application import Sphinx from sphinx.application import Sphinx
@@ -121,20 +121,6 @@ class BuildDoc(Command):
return root return root
return os.curdir return os.curdir
# Overriding distutils' Command._ensure_stringlike which doesn't support
# unicode, causing finalize_options to fail if invoked again. Workaround
# for https://bugs.python.org/issue19570
def _ensure_stringlike(self, option, what, default=None):
# type: (str, str, Any) -> Any
val = getattr(self, option)
if val is None:
setattr(self, option, default)
return default
elif not isinstance(val, str):
raise DistutilsOptionError("'%s' must be a %s (got `%s`)"
% (option, what, val))
return val
def finalize_options(self): def finalize_options(self):
# type: () -> None # type: () -> None
self.ensure_string_list('builder') self.ensure_string_list('builder')