Mercurial > hg-stable
comparison mercurial/minirst.py @ 18752:fabbaa250977
minirst: optimize HTML table generation a bit
avoid a couple of array copies and string interpolations
author | Dan Villiom Podlaski Christiansen <danchr@gmail.com> |
---|---|
date | Sat, 09 Feb 2013 21:51:21 +0000 |
parents | 13aa81e2fded |
children | 8ac7b85bd8f9 |
comparison
equal
deleted
inserted
replaced
18751:13aa81e2fded | 18752:fabbaa250977 |
---|---|
557 headernest += i | 557 headernest += i |
558 level = headernest.index(i) + 1 | 558 level = headernest.index(i) + 1 |
559 out.append('<h%d>%s</h%d>\n' % (level, escape(lines[0]), level)) | 559 out.append('<h%d>%s</h%d>\n' % (level, escape(lines[0]), level)) |
560 elif btype == 'table': | 560 elif btype == 'table': |
561 table = b['table'] | 561 table = b['table'] |
562 t = [] | 562 out.append('<table>\n') |
563 for row in table: | 563 for row in table: |
564 l = [] | 564 out.append('<tr>') |
565 for v in row: | 565 for v in row: |
566 l.append('<td>%s</td>' % escape(v)) | 566 out.append('<td>') |
567 t.append('<tr>%s</tr>\n' % '\n'.join(l)) | 567 out.append(escape(v)) |
568 out.append('<table>\n%s</table>\n' % ''.join(t)) | 568 out.append('</td>') |
569 out.append('\n') | |
570 out.pop() | |
571 out.append('</tr>\n') | |
572 out.append('</table>\n') | |
569 elif btype == 'definition': | 573 elif btype == 'definition': |
570 openlist('dl', level) | 574 openlist('dl', level) |
571 term = escape(lines[0]) | 575 term = escape(lines[0]) |
572 text = escape(' '.join(map(str.strip, lines[1:]))) | 576 text = escape(' '.join(map(str.strip, lines[1:]))) |
573 out.append(' <dt>%s\n <dd>%s\n' % (term, text)) | 577 out.append(' <dt>%s\n <dd>%s\n' % (term, text)) |