@@ 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) |