| @@ 393-414 (lines=22) @@ | ||
| 390 | item['cells'] = self._process_cells(cells) |
|
| 391 | self.tokens.append(item) |
|
| 392 | ||
| 393 | def _process_table(self, m): |
|
| 394 | header = re.sub(r'^ *| *\| *$', '', m.group(1)) |
|
| 395 | header = re.split(r' *\| *', header) |
|
| 396 | align = re.sub(r' *|\| *$', '', m.group(2)) |
|
| 397 | align = re.split(r' *\| *', align) |
|
| 398 | ||
| 399 | for i, v in enumerate(align): |
|
| 400 | if re.search(r'^ *-+: *$', v): |
|
| 401 | align[i] = 'right' |
|
| 402 | elif re.search(r'^ *:-+: *$', v): |
|
| 403 | align[i] = 'center' |
|
| 404 | elif re.search(r'^ *:-+ *$', v): |
|
| 405 | align[i] = 'left' |
|
| 406 | else: |
|
| 407 | align[i] = None |
|
| 408 | ||
| 409 | item = { |
|
| 410 | 'type': 'table', |
|
| 411 | 'header': header, |
|
| 412 | 'align': align, |
|
| 413 | } |
|
| 414 | return item |
|
| 415 | ||
| 416 | def _process_cells(self, cells): |
|
| 417 | for i, line in enumerate(cells): |
|
| @@ 380-401 (lines=22) @@ | ||
| 377 | item['cells'] = cells |
|
| 378 | self.tokens.append(item) |
|
| 379 | ||
| 380 | def _process_table(self, m): |
|
| 381 | header = re.sub(r'^ *| *\| *$', '', m.group(1)) |
|
| 382 | header = re.split(r' *\| *', header) |
|
| 383 | align = re.sub(r' *|\| *$', '', m.group(2)) |
|
| 384 | align = re.split(r' *\| *', align) |
|
| 385 | ||
| 386 | for i, v in enumerate(align): |
|
| 387 | if re.search(r'^ *-+: *$', v): |
|
| 388 | align[i] = 'right' |
|
| 389 | elif re.search(r'^ *:-+: *$', v): |
|
| 390 | align[i] = 'center' |
|
| 391 | elif re.search(r'^ *:-+ *$', v): |
|
| 392 | align[i] = 'left' |
|
| 393 | else: |
|
| 394 | align[i] = None |
|
| 395 | ||
| 396 | item = { |
|
| 397 | 'type': 'table', |
|
| 398 | 'header': header, |
|
| 399 | 'align': align, |
|
| 400 | } |
|
| 401 | return item |
|
| 402 | ||
| 403 | def parse_block_html(self, m): |
|
| 404 | tag = m.group(1) |
|