summaryrefslogtreecommitdiff
path: root/logilab/common/ureports/docbook_writer.py
diff options
context:
space:
mode:
Diffstat (limited to 'logilab/common/ureports/docbook_writer.py')
-rw-r--r--logilab/common/ureports/docbook_writer.py87
1 files changed, 43 insertions, 44 deletions
diff --git a/logilab/common/ureports/docbook_writer.py b/logilab/common/ureports/docbook_writer.py
index f28474e..7e7564f 100644
--- a/logilab/common/ureports/docbook_writer.py
+++ b/logilab/common/ureports/docbook_writer.py
@@ -29,15 +29,17 @@ class DocbookWriter(HTMLWriter):
super(HTMLWriter, self).begin_format(layout)
if self.snippet is None:
self.writeln('<?xml version="1.0" encoding="ISO-8859-1"?>')
- self.writeln("""
+ self.writeln(
+ """
<book xmlns:xi='http://www.w3.org/2001/XInclude'
lang='fr'>
-""")
+"""
+ )
def end_format(self, layout):
"""finished to format a layout"""
if self.snippet is None:
- self.writeln('</book>')
+ self.writeln("</book>")
def visit_section(self, layout):
"""display a section (using <chapter> (level 0) or <section>)"""
@@ -46,98 +48,95 @@ class DocbookWriter(HTMLWriter):
else:
tag = "section"
self.section += 1
- self.writeln(self._indent('<%s%s>' % (tag, self.handle_attrs(layout))))
+ self.writeln(self._indent("<%s%s>" % (tag, self.handle_attrs(layout))))
self.format_children(layout)
- self.writeln(self._indent('</%s>' % tag))
+ self.writeln(self._indent("</%s>" % tag))
self.section -= 1
def visit_title(self, layout):
"""display a title using <title>"""
- self.write(self._indent(' <title%s>' % self.handle_attrs(layout)))
+ self.write(self._indent(" <title%s>" % self.handle_attrs(layout)))
self.format_children(layout)
- self.writeln('</title>')
+ self.writeln("</title>")
def visit_table(self, layout):
"""display a table as html"""
self.writeln(
- self._indent(' <table%s><title>%s</title>' % (
- self.handle_attrs(layout), layout.title)))
+ self._indent(" <table%s><title>%s</title>" % (self.handle_attrs(layout), layout.title))
+ )
self.writeln(self._indent(' <tgroup cols="%s">' % layout.cols))
for i in range(layout.cols):
- self.writeln(
- self._indent(
- ' <colspec colname="c%s" colwidth="1*"/>' % i))
+ self.writeln(self._indent(' <colspec colname="c%s" colwidth="1*"/>' % i))
table_content = self.get_table_content(layout)
# write headers
if layout.cheaders:
- self.writeln(self._indent(' <thead>'))
+ self.writeln(self._indent(" <thead>"))
self._write_row(table_content[0])
- self.writeln(self._indent(' </thead>'))
+ self.writeln(self._indent(" </thead>"))
table_content = table_content[1:]
elif layout.rcheaders:
- self.writeln(self._indent(' <thead>'))
+ self.writeln(self._indent(" <thead>"))
self._write_row(table_content[-1])
- self.writeln(self._indent(' </thead>'))
+ self.writeln(self._indent(" </thead>"))
table_content = table_content[:-1]
# write body
- self.writeln(self._indent(' <tbody>'))
+ self.writeln(self._indent(" <tbody>"))
for i in range(len(table_content)):
row = table_content[i]
- self.writeln(self._indent(' <row>'))
+ self.writeln(self._indent(" <row>"))
for j in range(len(row)):
- cell = row[j] or '&#160;'
- self.writeln(
- self._indent(' <entry>%s</entry>' % cell))
- self.writeln(self._indent(' </row>'))
- self.writeln(self._indent(' </tbody>'))
- self.writeln(self._indent(' </tgroup>'))
- self.writeln(self._indent(' </table>'))
+ cell = row[j] or "&#160;"
+ self.writeln(self._indent(" <entry>%s</entry>" % cell))
+ self.writeln(self._indent(" </row>"))
+ self.writeln(self._indent(" </tbody>"))
+ self.writeln(self._indent(" </tgroup>"))
+ self.writeln(self._indent(" </table>"))
def _write_row(self, row):
"""write content of row (using <row> <entry>)"""
- self.writeln(' <row>')
+ self.writeln(" <row>")
for j in range(len(row)):
- cell = row[j] or '&#160;'
- self.writeln(' <entry>%s</entry>' % cell)
- self.writeln(self._indent(' </row>'))
+ cell = row[j] or "&#160;"
+ self.writeln(" <entry>%s</entry>" % cell)
+ self.writeln(self._indent(" </row>"))
def visit_list(self, layout):
"""display a list (using <itemizedlist>)"""
- self.writeln(self._indent(' <itemizedlist%s>'
- '' % self.handle_attrs(layout)))
+ self.writeln(self._indent(" <itemizedlist%s>" "" % self.handle_attrs(layout)))
for row in list(self.compute_content(layout)):
- self.writeln(' <listitem><para>%s</para></listitem>' % row)
- self.writeln(self._indent(' </itemizedlist>'))
+ self.writeln(" <listitem><para>%s</para></listitem>" % row)
+ self.writeln(self._indent(" </itemizedlist>"))
def visit_paragraph(self, layout):
"""display links (using <para>)"""
- self.write(self._indent(' <para>'))
+ self.write(self._indent(" <para>"))
self.format_children(layout)
- self.writeln('</para>')
+ self.writeln("</para>")
def visit_span(self, layout):
"""display links (using <p>)"""
# TODO: translate in docbook
- self.write('<literal %s>' % self.handle_attrs(layout))
+ self.write("<literal %s>" % self.handle_attrs(layout))
self.format_children(layout)
- self.write('</literal>')
+ self.write("</literal>")
def visit_link(self, layout):
"""display links (using <ulink>)"""
- self.write('<ulink url="%s"%s>%s</ulink>' % (
- layout.url, self.handle_attrs(layout), layout.label))
+ self.write(
+ '<ulink url="%s"%s>%s</ulink>' % (layout.url, self.handle_attrs(layout), layout.label)
+ )
def visit_verbatimtext(self, layout):
"""display verbatim text (using <programlisting>)"""
- self.writeln(self._indent(' <programlisting>'))
- self.write(layout.data.replace('&', '&amp;').replace('<', '&lt;'))
- self.writeln(self._indent(' </programlisting>'))
+ self.writeln(self._indent(" <programlisting>"))
+ self.write(layout.data.replace("&", "&amp;").replace("<", "&lt;"))
+ self.writeln(self._indent(" </programlisting>"))
def visit_text(self, layout):
"""add some text"""
- self.write(layout.data.replace('&', '&amp;').replace('<', '&lt;'))
+ self.write(layout.data.replace("&", "&amp;").replace("<", "&lt;"))
def _indent(self, string):
"""correctly indent string according to section"""
- return ' ' * 2*(self.section) + string
+ return " " * 2 * (self.section) + string