Hackfut Security File Manager
Current Path:
/usr/lib/python2.6/site-packages/markdown/extensions
usr
/
lib
/
python2.6
/
site-packages
/
markdown
/
extensions
/
📁
..
📄
__init__.py
(0 B)
📄
__init__.pyc
(151 B)
📄
__init__.pyo
(151 B)
📄
abbr.py
(2.83 KB)
📄
abbr.pyc
(4.19 KB)
📄
abbr.pyo
(4.19 KB)
📄
codehilite.py
(7.49 KB)
📄
codehilite.pyc
(7.94 KB)
📄
codehilite.pyo
(7.94 KB)
📄
def_list.py
(3.1 KB)
📄
def_list.pyc
(3.95 KB)
📄
def_list.pyo
(3.95 KB)
📄
extra.py
(1.7 KB)
📄
extra.pyc
(2.27 KB)
📄
extra.pyo
(2.27 KB)
📄
fenced_code.py
(3.34 KB)
📄
fenced_code.pyc
(4.27 KB)
📄
fenced_code.pyo
(4.27 KB)
📄
footnotes.py
(9.82 KB)
📄
footnotes.pyc
(11.17 KB)
📄
footnotes.pyo
(11.17 KB)
📄
headerid.py
(6.18 KB)
📄
headerid.pyc
(7.29 KB)
📄
headerid.pyo
(7.29 KB)
📄
html_tidy.py
(2.02 KB)
📄
html_tidy.pyc
(2.69 KB)
📄
html_tidy.pyo
(2.69 KB)
📄
imagelinks.py
(3.41 KB)
📄
imagelinks.pyc
(3.23 KB)
📄
imagelinks.pyo
(3.23 KB)
📄
meta.py
(2.53 KB)
📄
meta.pyc
(3.2 KB)
📄
meta.pyo
(3.2 KB)
📄
rss.py
(3.61 KB)
📄
rss.pyc
(4.24 KB)
📄
rss.pyo
(4.24 KB)
📄
tables.py
(3.01 KB)
📄
tables.pyc
(3.79 KB)
📄
tables.pyo
(3.79 KB)
📄
toc.py
(4.98 KB)
📄
toc.pyc
(4.36 KB)
📄
toc.pyo
(4.36 KB)
📄
wikilinks.py
(5.17 KB)
📄
wikilinks.pyc
(6.13 KB)
📄
wikilinks.pyo
(6.13 KB)
Editing: tables.py
""" Tables Extension for Python-Markdown ==================================== Added parsing of tables to Python-Markdown. A simple example: First Header | Second Header ------------- | ------------- Content Cell | Content Cell Content Cell | Content Cell Copyright 2009 - [Waylan Limberg](http://achinghead.com) """ import markdown from markdown import etree class TableProcessor(markdown.blockprocessors.BlockProcessor): """ Process Tables. """ def test(self, parent, block): rows = block.split('\n') return (len(rows) > 2 and '|' in rows[0] and '|' in rows[1] and '-' in rows[1] and rows[1][0] in ['|', ':', '-']) def run(self, parent, blocks): """ Parse a table block and build table. """ block = blocks.pop(0).split('\n') header = block[:2] rows = block[2:] # Get format type (bordered by pipes or not) border = False if header[0].startswith('|'): border = True # Get alignment of columns align = [] for c in self._split_row(header[1], border): if c.startswith(':') and c.endswith(':'): align.append('center') elif c.startswith(':'): align.append('left') elif c.endswith(':'): align.append('right') else: align.append(None) # Build table table = etree.SubElement(parent, 'table') thead = etree.SubElement(table, 'thead') self._build_row(header[0], thead, align, border) tbody = etree.SubElement(table, 'tbody') for row in rows: self._build_row(row, tbody, align, border) def _build_row(self, row, parent, align, border): """ Given a row of text, build table cells. """ tr = etree.SubElement(parent, 'tr') tag = 'td' if parent.tag == 'thead': tag = 'th' cells = self._split_row(row, border) # We use align here rather than cells to ensure every row # contains the same number of columns. for i, a in enumerate(align): c = etree.SubElement(tr, tag) try: c.text = cells[i].strip() except IndexError: c.text = "" if a: c.set('align', a) def _split_row(self, row, border): """ split a row of text into list of cells. """ if border: if row.startswith('|'): row = row[1:] if row.endswith('|'): row = row[:-1] return row.split('|') class TableExtension(markdown.Extension): """ Add tables to Markdown. """ def extendMarkdown(self, md, md_globals): """ Add an instance of TableProcessor to BlockParser. """ md.parser.blockprocessors.add('table', TableProcessor(md.parser), '<hashheader') def makeExtension(configs={}): return TableExtension(configs=configs)
Upload File
Create Folder