I'm attempting to create a custom reST directive, which returns a tree of `containers`, two of which contain a `LiteralInclude` directive. Here's the code for my extension module:
class AsmFileDirective(rst.Directive): required_arguments = 1 optional_arguments = 0 has_content = False def run(self): reference = self.arguments[0] sourceandoutput = nodes.container(classes=["sourceandoutput"]) source = nodes.container(classes=["source"]) source_header = nodes.container(classes=["header"]) source_header.append(nodes.Text(reference + ".nasm")) source.append(source_header) """source.append(LiteralInclude( name = self.name, arguments = ["code/" + reference + "/prog.nasm"], options = self.options, content = self.content, lineno = self.lineno, content_offset = self.content_offset, block_text = self.block_text, state = self.state, state_machine = self.state_machine ))""" output = nodes.container(classes=["source"]) output_header = nodes.container(classes=["header"]) filename = nodes.container(classes=["filename"]) filename.append(nodes.Text("./" + reference)) output_header.append(filename) output.append(output_header) sourceandoutput.append(source) sourceandoutput.append(output) return [sourceandoutput] def setup(app): app.add_directive("asmfile", AsmFileDirective) I have two (and possibly more) problems with this: (ERROR THE FIRST) When a `container` is written as html, I get the error: Exception occurred: File "/usr/local/lib/python2.6/dist-packages/docutils-0.6-py2.6.egg/ docutils/writers/html4css1/__init__.py", line 362, in starttag classes.append(atts['class']) AttributeError: 'str' object has no attribute 'append' So for some reason, the array that I'm passing in is getting converted to a string .... ? When I instead pass in a string, I get the same error, obviously. (ERROR THE SECOND) the arguments for instantiating a LiteralInclude are horrendous, and I can't even identify the problems I'm having with that. -- You received this message because you are subscribed to the Google Groups "sphinx-dev" group. To post to this group, send email to sphinx-...@googlegroups.com. To unsubscribe from this group, send email to sphinx-dev+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sphinx-dev?hl=en.