Exemple #1
0
 def run(self):
     self.assert_has_content()
     text = '\n'.join(self.content)
     try:
         il = InterlinearText()
         html = il.do_text(text)
     except InterlinearError as e:
         raise self.error(e.args[0])
     text_nodes, messages = self.state.inline_text(text, self.lineno)
     node = self.interlinear(text, '', *text_nodes)
     node.line = self.content_offset + 1
     return [node] + messages
Exemple #2
0
def get_interlinear(model):
    if not model.interlinear.strip():
        return '', 'monospace'
    interlinear = model.interlinear
    format = model.il_format
    if format == 'leipzig':
        il = InterlinearText()
        try:
            return il.do_text(interlinear), format
        except InterlinearError:
            format = 'monospace'
    return '<pre>%s</pre>' % escape(interlinear), format
Exemple #3
0
 def visit_interlinear(self, node):
     il = InterlinearText()
     text = il.do_text(node.astext())
     self.body.append(text)
     node.children = []
Exemple #4
0
        try:
            il = InterlinearText()
            html = il.do_text(text)
        except InterlinearError as e:
            raise self.error(e.args[0])
        text_nodes, messages = self.state.inline_text(text, self.lineno)
        node = self.interlinear(text, '', *text_nodes)
        node.line = self.content_offset + 1
        return [node] + messages

if __name__ == '__main__':
    from docutils.core import publish_parts

    from pprint import pprint

    il = InterlinearText()

    directives.register_directive('interlinear', InterlinearDirective)

    def test(text):
        parts = publish_parts(source=text, writer=CALSHTMLWriter())
        return parts['fragment']

    goodteststring = """
.. interlinear::
    x a
    z b

    y
    0
    "foo ba"