summaryrefslogtreecommitdiff
path: root/sphinx/builders/manpage.py
diff options
context:
space:
mode:
Diffstat (limited to 'sphinx/builders/manpage.py')
-rw-r--r--sphinx/builders/manpage.py34
1 files changed, 25 insertions, 9 deletions
diff --git a/sphinx/builders/manpage.py b/sphinx/builders/manpage.py
index 83c179431..7ee2957be 100644
--- a/sphinx/builders/manpage.py
+++ b/sphinx/builders/manpage.py
@@ -12,17 +12,27 @@
from os import path
from six import string_types
+
from docutils.io import FileOutput
from docutils.frontend import OptionParser
from sphinx import addnodes
from sphinx.builders import Builder
from sphinx.environment import NoUri
+from sphinx.util import logging
from sphinx.util.nodes import inline_all_toctrees
from sphinx.util.osutil import make_filename
-from sphinx.util.console import bold, darkgreen
+from sphinx.util.console import bold, darkgreen # type: ignore
from sphinx.writers.manpage import ManualPageWriter
+if False:
+ # For type annotation
+ from typing import Any, Dict, List, Set, Union # NOQA
+ from sphinx.application import Sphinx # NOQA
+
+
+logger = logging.getLogger(__name__)
+
class ManualPageBuilder(Builder):
"""
@@ -30,29 +40,33 @@ class ManualPageBuilder(Builder):
"""
name = 'man'
format = 'man'
- supported_image_types = []
+ supported_image_types = [] # type: List[unicode]
def init(self):
+ # type: () -> None
if not self.config.man_pages:
- self.warn('no "man_pages" config value found; no manual pages '
- 'will be written')
+ logger.warning('no "man_pages" config value found; no manual pages '
+ 'will be written')
def get_outdated_docs(self):
+ # type: () -> Union[unicode, List[unicode]]
return 'all manpages' # for now
def get_target_uri(self, docname, typ=None):
+ # type: (unicode, unicode) -> unicode
if typ == 'token':
return ''
raise NoUri
def write(self, *ignored):
+ # type: (Any) -> None
docwriter = ManualPageWriter(self)
docsettings = OptionParser(
defaults=self.env.settings,
components=(docwriter,),
read_config_files=True).get_default_values()
- self.info(bold('writing... '), nonl=True)
+ logger.info(bold('writing... '), nonl=True)
for info in self.config.man_pages:
docname, name, description, authors, section = info
@@ -63,16 +77,16 @@ class ManualPageBuilder(Builder):
authors = []
targetname = '%s.%s' % (name, section)
- self.info(darkgreen(targetname) + ' { ', nonl=True)
+ logger.info(darkgreen(targetname) + ' { ', nonl=True)
destination = FileOutput(
destination_path=path.join(self.outdir, targetname),
encoding='utf-8')
tree = self.env.get_doctree(docname)
- docnames = set()
+ docnames = set() # type: Set[unicode]
largetree = inline_all_toctrees(self, docnames, docname, tree,
darkgreen, [docname])
- self.info('} ', nonl=True)
+ logger.info('} ', nonl=True)
self.env.resolve_references(largetree, docname, self)
# remove pending_xref nodes
for pendingnode in largetree.traverse(addnodes.pending_xref):
@@ -85,13 +99,15 @@ class ManualPageBuilder(Builder):
largetree.settings.section = section
docwriter.write(largetree, destination)
- self.info()
+ logger.info('')
def finish(self):
+ # type: () -> None
pass
def setup(app):
+ # type: (Sphinx) -> Dict[unicode, Any]
app.add_builder(ManualPageBuilder)
app.add_config_value('man_pages',