On 08/13/2015 12:15 AM, Nicola Nye wrote:
Delicious victory is mine!
We now have a :cyrusman: sphinx option which generates urls into our docs.cyrus.foundation tree, performing string munging magic to match the generated url to our directory and filename structure. Now, to look at updating all the references in our existing docs so that it uses the new tag...

Nicola,
Doesn't work for me.

I pulled your changes, and then ran the following script to replace all :manpage: references with :cyrusman:

   $ for file in `grep -lR ":manpage:" source/imap`; do sed -i $file -e 
's/:manpage:/:cyrusman:/g'; done

Then I ran a build:

   $ make man html
   sphinx-build -b cyrman -d build/doctrees   source build/man
   Running Sphinx v1.2.2
   Initializing cyrusman plugin
   loading pickled environment... done
   building [cyrman]: all manpages
   updating environment: [extensions changed] 274 added, 18 changed, 0 removed
   reading sources... [  3%] imap/admin/access-control/rights-reference
   Exception occurred:
      File 
"/home/nic/Checkouts/cyrus.foundation/cyrus-docs/source/exts/sphinxlocal/writers/cyrusman.py",
 line 49, in man_role
        manpage_num = m.group(2)
   AttributeError: 'NoneType' object has no attribute 'group'
   The full traceback has been saved in /tmp/sphinx-err-yWaXf3.log, if you want 
to report the issue to the developers.

Full traceback is attached.

Cheers,
    -nic

--
Nic Bernstein                             n...@onlight.com
Onlight llc.                              www.onlight.com
219 N. Milwaukee St., Ste. 2A             v. 414.272.4477
Milwaukee, Wisconsin  53202               f. 414.290.0335

# Sphinx version: 1.2.2
# Python version: 2.7.6
# Docutils version: 0.11 release
# Jinja2 version: 2.7.2
# Loaded extensions:
#   sphinx.ext.graphviz from /usr/lib/python2.7/dist-packages/sphinx/ext/graphviz.pyc
#   sphinx.ext.mathjax from /usr/lib/python2.7/dist-packages/sphinx/ext/mathjax.pyc
#   sphinx.ext.extlinks from /usr/lib/python2.7/dist-packages/sphinx/ext/extlinks.pyc
#   sphinxlocal.builders.manpage from /home/nic/Checkouts/cyrus.foundation/cyrus-docs/source/exts/sphinxlocal/builders/manpage.pyc
#   sphinx.ext.coverage from /usr/lib/python2.7/dist-packages/sphinx/ext/coverage.pyc
#   sphinx.ext.todo from /usr/lib/python2.7/dist-packages/sphinx/ext/todo.pyc
#   sphinxlocal.writers.cyrusman from /home/nic/Checkouts/cyrus.foundation/cyrus-docs/source/exts/sphinxlocal/writers/cyrusman.py
#   sphinx.ext.ifconfig from /usr/lib/python2.7/dist-packages/sphinx/ext/ifconfig.pyc
#   sphinx.ext.oldcmarkup from /usr/lib/python2.7/dist-packages/sphinx/ext/oldcmarkup.pyc
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/sphinx/cmdline.py", line 254, in main
    app.build(force_all, filenames)
  File "/usr/lib/python2.7/dist-packages/sphinx/application.py", line 212, in build
    self.builder.build_update()
  File "/usr/lib/python2.7/dist-packages/sphinx/builders/__init__.py", line 209, in build_update
    self.build(['__all__'], to_build)
  File "/usr/lib/python2.7/dist-packages/sphinx/builders/__init__.py", line 234, in build
    purple, length):
  File "/usr/lib/python2.7/dist-packages/sphinx/builders/__init__.py", line 134, in status_iterator
    for item in iterable:
  File "/usr/lib/python2.7/dist-packages/sphinx/environment.py", line 477, in update_generator
    self.read_doc(docname, app=app)
  File "/usr/lib/python2.7/dist-packages/sphinx/environment.py", line 624, in read_doc
    pub.publish()
  File "/usr/lib/python2.7/dist-packages/docutils/core.py", line 217, in publish
    self.settings)
  File "/usr/lib/python2.7/dist-packages/docutils/readers/__init__.py", line 72, in read
    self.parse()
  File "/usr/lib/python2.7/dist-packages/docutils/readers/__init__.py", line 78, in parse
    self.parser.parse(self.input, document)
  File "/usr/lib/python2.7/dist-packages/docutils/parsers/rst/__init__.py", line 172, in parse
    self.statemachine.run(inputlines, document, inliner=self.inliner)
  File "/usr/lib/python2.7/dist-packages/docutils/parsers/rst/states.py", line 171, in run
    input_source=document['source'])
  File "/usr/lib/python2.7/dist-packages/docutils/statemachine.py", line 239, in run
    context, state, transitions)
  File "/usr/lib/python2.7/dist-packages/docutils/statemachine.py", line 460, in check_line
    return method(match, context, next_state)
  File "/usr/lib/python2.7/dist-packages/docutils/parsers/rst/states.py", line 2962, in text
    self.section(title.lstrip(), source, style, lineno + 1, messages)
  File "/usr/lib/python2.7/dist-packages/docutils/parsers/rst/states.py", line 328, in section
    self.new_subsection(title, lineno, messages)
  File "/usr/lib/python2.7/dist-packages/docutils/parsers/rst/states.py", line 396, in new_subsection
    node=section_node, match_titles=True)
  File "/usr/lib/python2.7/dist-packages/docutils/parsers/rst/states.py", line 283, in nested_parse
    node=node, match_titles=match_titles)
  File "/usr/lib/python2.7/dist-packages/docutils/parsers/rst/states.py", line 196, in run
    results = StateMachineWS.run(self, input_lines, input_offset)
  File "/usr/lib/python2.7/dist-packages/docutils/statemachine.py", line 239, in run
    context, state, transitions)
  File "/usr/lib/python2.7/dist-packages/docutils/statemachine.py", line 460, in check_line
    return method(match, context, next_state)
  File "/usr/lib/python2.7/dist-packages/docutils/parsers/rst/states.py", line 2727, in underline
    self.section(title, source, style, lineno - 1, messages)
  File "/usr/lib/python2.7/dist-packages/docutils/parsers/rst/states.py", line 328, in section
    self.new_subsection(title, lineno, messages)
  File "/usr/lib/python2.7/dist-packages/docutils/parsers/rst/states.py", line 396, in new_subsection
    node=section_node, match_titles=True)
  File "/usr/lib/python2.7/dist-packages/docutils/parsers/rst/states.py", line 283, in nested_parse
    node=node, match_titles=match_titles)
  File "/usr/lib/python2.7/dist-packages/docutils/parsers/rst/states.py", line 196, in run
    results = StateMachineWS.run(self, input_lines, input_offset)
  File "/usr/lib/python2.7/dist-packages/docutils/statemachine.py", line 239, in run
    context, state, transitions)
  File "/usr/lib/python2.7/dist-packages/docutils/statemachine.py", line 460, in check_line
    return method(match, context, next_state)
  File "/usr/lib/python2.7/dist-packages/docutils/parsers/rst/states.py", line 2727, in underline
    self.section(title, source, style, lineno - 1, messages)
  File "/usr/lib/python2.7/dist-packages/docutils/parsers/rst/states.py", line 328, in section
    self.new_subsection(title, lineno, messages)
  File "/usr/lib/python2.7/dist-packages/docutils/parsers/rst/states.py", line 396, in new_subsection
    node=section_node, match_titles=True)
  File "/usr/lib/python2.7/dist-packages/docutils/parsers/rst/states.py", line 283, in nested_parse
    node=node, match_titles=match_titles)
  File "/usr/lib/python2.7/dist-packages/docutils/parsers/rst/states.py", line 196, in run
    results = StateMachineWS.run(self, input_lines, input_offset)
  File "/usr/lib/python2.7/dist-packages/docutils/statemachine.py", line 239, in run
    context, state, transitions)
  File "/usr/lib/python2.7/dist-packages/docutils/statemachine.py", line 460, in check_line
    return method(match, context, next_state)
  File "/usr/lib/python2.7/dist-packages/docutils/parsers/rst/states.py", line 1136, in indent
    elements = self.block_quote(indented, line_offset)
  File "/usr/lib/python2.7/dist-packages/docutils/parsers/rst/states.py", line 1151, in block_quote
    self.nested_parse(blockquote_lines, line_offset, blockquote)
  File "/usr/lib/python2.7/dist-packages/docutils/parsers/rst/states.py", line 283, in nested_parse
    node=node, match_titles=match_titles)
  File "/usr/lib/python2.7/dist-packages/docutils/parsers/rst/states.py", line 196, in run
    results = StateMachineWS.run(self, input_lines, input_offset)
  File "/usr/lib/python2.7/dist-packages/docutils/statemachine.py", line 239, in run
    context, state, transitions)
  File "/usr/lib/python2.7/dist-packages/docutils/statemachine.py", line 460, in check_line
    return method(match, context, next_state)
  File "/usr/lib/python2.7/dist-packages/docutils/parsers/rst/states.py", line 2741, in text
    paragraph, literalnext = self.paragraph(lines, startline)
  File "/usr/lib/python2.7/dist-packages/docutils/parsers/rst/states.py", line 419, in paragraph
    textnodes, messages = self.inline_text(text, lineno)
  File "/usr/lib/python2.7/dist-packages/docutils/parsers/rst/states.py", line 428, in inline_text
    return self.inliner.parse(text, lineno, self.memo, self.parent)
  File "/usr/lib/python2.7/dist-packages/docutils/parsers/rst/states.py", line 514, in parse
    lineno)
  File "/usr/lib/python2.7/dist-packages/docutils/parsers/rst/states.py", line 777, in interpreted_or_phrase_ref
    lineno)
  File "/usr/lib/python2.7/dist-packages/docutils/parsers/rst/states.py", line 857, in interpreted
    nodes, messages2 = role_fn(role, rawsource, text, lineno, self)
  File "/home/nic/Checkouts/cyrus.foundation/cyrus-docs/source/exts/sphinxlocal/writers/cyrusman.py", line 49, in man_role
    manpage_num = m.group(2)
AttributeError: 'NoneType' object has no attribute 'group'

Reply via email to