From: Christophe D. <chr...@fr...> - 2010-10-29 05:56:01
|
Hello, I'm using rst2html to build my web site. I'm trying to put some lists in a sidebar but I get the following error: $ rst2html --section-numbering --cloak-email-addresses --record-dependencies=.deps.1 index.rst index.html AttributeError: 'system_message' object has no attribute 'indent' Exiting due to error. Use "--traceback" to diagnose. Please report errors to <doc...@li...>. Include "--traceback" output, Docutils version (0.6 [release]), Python version (2.6.6), your OS type & version, and the command line used. A list with one item works but not with two or more... eg: this doesn't work .. sidebar:: |url| About me: * `English resume <cv/cv.en.html>`_ `(PDF) <cv/cv.en.pdf>`__ * `CV français <cv/cv.fr.html>`_ `(PDF) <cv/cv.fr.pdf>`__ The sidebar is in a file that is included in the main document. Here is the traceback: Traceback (most recent call last): File "/usr/bin/rst2html", line 23, in <module> publish_cmdline(writer_name='html', description=description) File "/usr/lib/pymodules/python2.6/docutils/core.py", line 336, in publish_cmdline config_section=config_section, enable_exit_status=enable_exit_status) File "/usr/lib/pymodules/python2.6/docutils/core.py", line 203, in publish self.settings) File "/usr/lib/pymodules/python2.6/docutils/readers/__init__.py", line 69, in read self.parse() File "/usr/lib/pymodules/python2.6/docutils/readers/__init__.py", line 75, in parse self.parser.parse(self.input, document) File "/usr/lib/pymodules/python2.6/docutils/parsers/rst/__init__.py", line 157, in parse self.statemachine.run(inputlines, document, inliner=self.inliner) File "/usr/lib/pymodules/python2.6/docutils/parsers/rst/states.py", line 170, in run input_source=document['source']) File "/usr/lib/pymodules/python2.6/docutils/statemachine.py", line 233, in run context, state, transitions) File "/usr/lib/pymodules/python2.6/docutils/statemachine.py", line 421, in check_line return method(match, context, next_state) File "/usr/lib/pymodules/python2.6/docutils/parsers/rst/states.py", line 2903, in text self.section(title.lstrip(), source, style, lineno + 1, messages) File "/usr/lib/pymodules/python2.6/docutils/parsers/rst/states.py", line 323, in section self.new_subsection(title, lineno, messages) File "/usr/lib/pymodules/python2.6/docutils/parsers/rst/states.py", line 391, in new_subsection node=section_node, match_titles=1) File "/usr/lib/pymodules/python2.6/docutils/parsers/rst/states.py", line 278, in nested_parse node=node, match_titles=match_titles) File "/usr/lib/pymodules/python2.6/docutils/parsers/rst/states.py", line 195, in run results = StateMachineWS.run(self, input_lines, input_offset) File "/usr/lib/pymodules/python2.6/docutils/statemachine.py", line 233, in run context, state, transitions) File "/usr/lib/pymodules/python2.6/docutils/statemachine.py", line 421, in check_line return method(match, context, next_state) File "/usr/lib/pymodules/python2.6/docutils/parsers/rst/states.py", line 2903, in text self.section(title.lstrip(), source, style, lineno + 1, messages) File "/usr/lib/pymodules/python2.6/docutils/parsers/rst/states.py", line 323, in section self.new_subsection(title, lineno, messages) File "/usr/lib/pymodules/python2.6/docutils/parsers/rst/states.py", line 391, in new_subsection node=section_node, match_titles=1) File "/usr/lib/pymodules/python2.6/docutils/parsers/rst/states.py", line 278, in nested_parse 1532 if not blank_finish: node=node, match_titles=match_titles) File "/usr/lib/pymodules/python2.6/docutils/parsers/rst/states.py", line 195, in run results = StateMachineWS.run(self, input_lines, input_offset) File "/usr/lib/pymodules/python2.6/docutils/statemachine.py", line 233, in run context, state, transitions) File "/usr/lib/pymodules/python2.6/docutils/statemachine.py", line 421, in check_line return method(match, context, next_state) File "/usr/lib/pymodules/python2.6/docutils/parsers/rst/states.py", line 2678, in underline self.section(title, source, style, lineno - 1, messages) File "/usr/lib/pymodules/python2.6/docutils/parsers/rst/states.py", line 323, in section self.new_subsection(title, lineno, messages) File "/usr/lib/pymodules/python2.6/docutils/parsers/rst/states.py", line 391, in new_subsection node=section_node, match_titles=1) File "/usr/lib/pymodules/python2.6/docutils/parsers/rst/states.py", line 278, in nested_parse node=node, match_titles=match_titles) File "/usr/lib/pymodules/python2.6/docutils/parsers/rst/states.py", line 195, in run results = StateMachineWS.run(self, input_lines, input_offset) File "/usr/lib/pymodules/python2.6/docutils/statemachine.py", line 233, in run context, state, transitions) File "/usr/lib/pymodules/python2.6/docutils/statemachine.py", line 421, in check_line return method(match, context, next_state) File "/usr/lib/pymodules/python2.6/docutils/parsers/rst/states.py", line 1583, in grid_table_top tableparser.GridTableParser) File "/usr/lib/pymodules/python2.6/docutils/parsers/rst/states.py", line 1594, in table_top nodelist, blank_finish = self.table(isolate_function, parser_class) File "/usr/lib/pymodules/python2.6/docutils/parsers/rst/states.py", line 1612, in table table = self.build_table(tabledata, tableline) File "/usr/lib/pymodules/python2.6/docutils/parsers/rst/states.py", line 1732, in build_table tbody += self.build_table_row(row, tableline) File "/usr/lib/pymodules/python2.6/docutils/parsers/rst/states.py", line 1750, in build_table_row node=entry) File "/usr/lib/pymodules/python2.6/docutils/parsers/rst/states.py", line 278, in nested_parse node=node, match_titles=match_titles) File "/usr/lib/pymodules/python2.6/docutils/parsers/rst/states.py", line 195, in run results = StateMachineWS.run(self, input_lines, input_offset) File "/usr/lib/pymodules/python2.6/docutils/statemachine.py", line 233, in run context, state, transitions) File "/usr/lib/pymodules/python2.6/docutils/statemachine.py", line 421, in check_line return method(match, context, next_state) File "/usr/lib/pymodules/python2.6/docutils/parsers/rst/states.py", line 1539, in line_block self.nest_line_block_lines(block) File "/usr/lib/pymodules/python2.6/docutils/parsers/rst/states.py", line 1556, in nest_line_block_lines if block[index].indent is None: AttributeError: 'system_message' object has no attribute 'indent' I can quickly fixed it by changing the line 1556 of state.py (in nest_line_block_lines): if not hasattr(block[index], 'indent') or block[index].indent is None: But I'm not sure this doesn't break something else. Best regards, Christophe Delord. |
From: Marcelo H. <mar...@gm...> - 2010-10-30 23:00:34
|
Christophe Delord escribió: > .. sidebar:: |url| > > About me: > * `English resume <cv/cv.en.html>`_ `(PDF) <cv/cv.en.pdf>`__ > * `CV français <cv/cv.fr.html>`_ `(PDF) <cv/cv.fr.pdf>`__ > You should add a blank line before the list. -- o-=< Marcelo >=-o |
From: David G. <go...@py...> - 2010-10-30 23:07:27
|
On Sat, Oct 30, 2010 at 19:00, Marcelo Huerta <mar...@gm...> wrote: > Christophe Delord escribió: >> .. sidebar:: |url| >> >> About me: >> * `English resume <cv/cv.en.html>`_ `(PDF) <cv/cv.en.pdf>`__ >> * `CV français <cv/cv.fr.html>`_ `(PDF) <cv/cv.fr.pdf>`__ >> > > You should add a blank line before the list. Not if it's the definition part of a definition list item. This suggestion might work around the reported bug, but to be sure, it is a bug. There's nothing wrong with the input. -- David Goodger <http://python.net/~goodger> |
From: David G. <go...@py...> - 2010-10-31 18:55:00
|
[Quoted with permission.] On Sun, Oct 31, 2010 at 02:21, Christophe Delord <chr...@fr...> wrote: > Here is a small input that reproduces the bug: > > ============= > Sidebar bug > ============= > > .. sidebar:: A sidebar > > A list inside a sidebar: > * `English resume <cv/cv.en.html>`_ > * `CV français <cv/cv.fr.html>`_ > > Personal > ======== > > +---------------------------------------+ > | About me | > +=======================================+ > | | `English resume <cv/cv.en.html>`_ | > | | `CV français <cv/cv.fr.html>`_ | > +---------------------------------------+ The bug you're seeing is in the system message (error) reporting mechanism. The reason you're getting a system message (error) is because you're defining the hyperlinks twice. The second time you reference a particular hyperlink, you don't need to give the URL. E.g., first time: `English resume <cv/cv.en.html>`_ Second time: `English resume`_ Just re-use the reference name, and the associated URL will be inserted automatically. If you don't want to keep track of which hyperlinks you've already defined, use "anonymous hyperlinks". Just use two underscores at the end instead of one, and Docutils won't keep track of definitions or report duplicates. > If I remove one item in the list or one line in the table, rst2html can > generate the html document. With these two lines in the list and in the > table I have the reported "bug" (or behaviour). Is there something wrong in > my document? > > If I have a list in the table it works: > > +---------------------------------------+ > | About me | > +=======================================+ > | * `English resume <cv/cv.en.html>`_ | > | * `CV français <cv/cv.fr.html>`_ | > +---------------------------------------+ > > > > By the way, docutils is great! Glad you like it. -- David Goodger > 2010/10/31 David Goodger <go...@py...> >> >> On Sat, Oct 30, 2010 at 19:00, Marcelo Huerta <mar...@gm...> >> wrote: >> > Christophe Delord escribió: >> >> .. sidebar:: |url| >> >> >> >> About me: >> >> * `English resume <cv/cv.en.html>`_ `(PDF) <cv/cv.en.pdf>`__ >> >> * `CV français <cv/cv.fr.html>`_ `(PDF) <cv/cv.fr.pdf>`__ >> >> >> > >> > You should add a blank line before the list. >> >> Not if it's the definition part of a definition list item. >> >> This suggestion might work around the reported bug, but to be sure, it >> is a bug. There's nothing wrong with the input. >> >> -- >> David Goodger <http://python.net/~goodger> |
From: Guenter M. <mi...@us...> - 2010-11-01 07:58:25
|
On 2010-10-29, Christophe Delord wrote: > I'm using rst2html to build my web site. I'm trying to put some lists in a > sidebar but I get the following error: > $ rst2html --section-numbering --cloak-email-addresses > --record-dependencies=3D.deps.1 index.rst index.html > AttributeError: 'system_message' object has no attribute 'indent' > Exiting due to error. Use "--traceback" to diagnose. > Please report errors to <doc...@li...>. > Include "--traceback" output, Docutils version (0.6 [release]), > Python version (2.6.6), your OS type & version, and the > command line used. As David already said, this is an error in error reporting... > A list with one item works but not with two or more... > eg: this doesn't work > .. sidebar:: |url| > About me: > * `English resume <cv/cv.en.html>`_ `(PDF) <cv/cv.en.pdf>`__ > * `CV fran=E7ais <cv/cv.fr.html>`_ `(PDF) <cv/cv.fr.pdf>`__ I cannot reproduce the error here. Could you post a *minimal* example? > The sidebar is in a file that is included in the main document. > Here is the traceback: The traceback reports about problems with a line-block. > File "/usr/lib/pymodules/python2.6/docutils/parsers/rst/states.py", line > 1539, in line_block > self.nest_line_block_lines(block) > File "/usr/lib/pymodules/python2.6/docutils/parsers/rst/states.py", line > 1556, in nest_line_block_lines > if block[index].indent is None: > AttributeError: 'system_message' object has no attribute 'indent' Did you include this file in a line-block? (I suppose that a sidebar directive inside a line-block is not really supported.) Günter |
From: Christophe D. <chr...@fr...> - 2010-11-01 12:11:05
|
Hello, 2010/11/1 Guenter Milde <mi...@us...> > On 2010-10-29, Christophe Delord wrote: > > I cannot reproduce the error here. Could you post a *minimal* example? > With the *minimal* example posted in the previous David's message I can reproduce the error. Just put this *more minimal* example in a single file: ---8<------------------------------------------------------------------------ .. sidebar:: A sidebar `link 1 <1.html>`_ | `link 2 <2.html>`_ | `link 1 <1.html>`_ ---8<------------------------------------------------------------------------ > Did you include this file in a line-block? > (I suppose that a sidebar directive inside a line-block is not really > supported.) > The sidebar is not in a line-block but there are duplicate links in the sidebar and in the line-block. If I swap the last two lines, there is no problem. Christophe. |
From: Guenter M. <mi...@us...> - 2010-11-01 21:21:44
|
On 2010-11-01, Christophe Delord wrote: > 2010/11/1 Guenter Milde <mi...@us...> >> On 2010-10-29, Christophe Delord wrote: >> I cannot reproduce the error here. Could you post a *minimal* example? ... > The sidebar is not in a line-block but there are duplicate links in the > sidebar and in the line-block. > If I swap the last two lines, there is no problem. Actually, the sidebar directive (like everything not required to reproduce the problem) should be removed to make a minimal example:: `link 1 <1.html>`_ | foo | `link 1 <1.html>`_ The interesting part is, that if you switch the last two lines or the first line and the line-block, not only the error disappears, but also there is no System-Message in the output. Günter |