mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2026-09-03 20:52:55 -05:00
merge with stable
This commit is contained in:
+1
-6
@@ -27,11 +27,6 @@ from sphinx.util.osutil import abspath, fs_encoding
|
|||||||
from sphinx.util.pycompat import terminal_safe
|
from sphinx.util.pycompat import terminal_safe
|
||||||
|
|
||||||
|
|
||||||
def usage(argv, msg=None):
|
|
||||||
if msg:
|
|
||||||
print(msg, file=sys.stderr)
|
|
||||||
print(file=sys.stderr)
|
|
||||||
|
|
||||||
USAGE = """\
|
USAGE = """\
|
||||||
Sphinx v%s
|
Sphinx v%s
|
||||||
Usage: %%prog [options] sourcedir outdir [filenames...]
|
Usage: %%prog [options] sourcedir outdir [filenames...]
|
||||||
@@ -150,7 +145,7 @@ def main(argv):
|
|||||||
return 1
|
return 1
|
||||||
outdir = abspath(args[1])
|
outdir = abspath(args[1])
|
||||||
except IndexError:
|
except IndexError:
|
||||||
usage(argv, 'Error: Insufficient arguments.')
|
parser.print_help()
|
||||||
return 1
|
return 1
|
||||||
except UnicodeError:
|
except UnicodeError:
|
||||||
print(
|
print(
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ from six.moves import cPickle as pickle
|
|||||||
|
|
||||||
import sphinx
|
import sphinx
|
||||||
from sphinx.builders import Builder
|
from sphinx.builders import Builder
|
||||||
|
from sphinx.util.inspect import safe_getattr
|
||||||
|
|
||||||
|
|
||||||
# utility
|
# utility
|
||||||
@@ -187,7 +188,10 @@ class CoverageBuilder(Builder):
|
|||||||
for attr_name in dir(obj):
|
for attr_name in dir(obj):
|
||||||
if attr_name not in obj.__dict__:
|
if attr_name not in obj.__dict__:
|
||||||
continue
|
continue
|
||||||
attr = getattr(obj, attr_name)
|
try:
|
||||||
|
attr = safe_getattr(obj, attr_name)
|
||||||
|
except AttributeError:
|
||||||
|
continue
|
||||||
if not (inspect.ismethod(attr) or
|
if not (inspect.ismethod(attr) or
|
||||||
inspect.isfunction(attr)):
|
inspect.isfunction(attr)):
|
||||||
continue
|
continue
|
||||||
|
|||||||
@@ -53,8 +53,8 @@ class Field(object):
|
|||||||
self.rolename = rolename
|
self.rolename = rolename
|
||||||
self.bodyrolename = bodyrolename
|
self.bodyrolename = bodyrolename
|
||||||
|
|
||||||
def make_xref(self, rolename, domain, target, innernode=nodes.emphasis,
|
def make_xref(self, rolename, domain, target,
|
||||||
contnode=None):
|
innernode=addnodes.literal_emphasis, contnode=None):
|
||||||
if not rolename:
|
if not rolename:
|
||||||
return contnode or innernode(target, target)
|
return contnode or innernode(target, target)
|
||||||
refnode = addnodes.pending_xref('', refdomain=domain, refexplicit=False,
|
refnode = addnodes.pending_xref('', refdomain=domain, refexplicit=False,
|
||||||
@@ -159,7 +159,8 @@ class TypedField(GroupedField):
|
|||||||
fieldtype = types.pop(fieldarg)
|
fieldtype = types.pop(fieldarg)
|
||||||
if len(fieldtype) == 1 and isinstance(fieldtype[0], nodes.Text):
|
if len(fieldtype) == 1 and isinstance(fieldtype[0], nodes.Text):
|
||||||
typename = u''.join(n.astext() for n in fieldtype)
|
typename = u''.join(n.astext() for n in fieldtype)
|
||||||
par += self.make_xref(self.typerolename, domain, typename)
|
par += self.make_xref(self.typerolename, domain, typename,
|
||||||
|
addnodes.literal_emphasis)
|
||||||
else:
|
else:
|
||||||
par += fieldtype
|
par += fieldtype
|
||||||
par += nodes.Text(')')
|
par += nodes.Text(')')
|
||||||
|
|||||||
Reference in New Issue
Block a user