| 80 | return str(cell).replace('[', '{').replace(']', '}').replace('\n', ' ') |
| 81 | |
| 82 | def output_bbcode_table(stream, header, rows): |
| 83 | stream.write("[table]\n") |
| 84 | |
| 85 | # Header |
| 86 | stream.write("[tr]") |
| 87 | for cell in header: |
| 88 | stream.write("[td]%s[/td]" % cell) |
| 89 | stream.write("[/tr]\n") |
| 90 | |
| 91 | # Seperator |
| 92 | stream.write("[tr]") |
| 93 | for cell in map(lambda x: '-'*len(x), header): |
| 94 | stream.write("[td]%s[/td]" % cell) |
| 95 | stream.write("[/tr]\n") |
| 96 | |
| 97 | # Rows |
| 98 | for row in rows: |
| 99 | stream.write("[tr]") |
| 100 | for cell in map(format_bbcode_cell, row): |
| 101 | stream.write("[td]%s[/td]" % cell) |
| 102 | stream.write("[/tr]\n") |
| 103 | stream.write("[/table]\n") |
| 104 | |
| 105 | def output_bbcode(doc, stream): |
| 106 | stream.write(h1("pfSense\n")) |