| Index: third_party/Python-Markdown/markdown/extensions/tables.py
|
| diff --git a/third_party/markdown/extensions/tables.py b/third_party/Python-Markdown/markdown/extensions/tables.py
|
| similarity index 54%
|
| copy from third_party/markdown/extensions/tables.py
|
| copy to third_party/Python-Markdown/markdown/extensions/tables.py
|
| index dacf78bab7dabcbaecf9312dde6b0778b431a7e1..368321d4624a6440b7c9e5eeb72c6dc78d4cd20b 100644
|
| --- a/third_party/markdown/extensions/tables.py
|
| +++ b/third_party/Python-Markdown/markdown/extensions/tables.py
|
| @@ -1,49 +1,18 @@
|
| -# markdown is released under the BSD license
|
| -# Copyright 2007, 2008 The Python Markdown Project (v. 1.7 and later)
|
| -# Copyright 2004, 2005, 2006 Yuri Takhteyev (v. 0.2-1.6b)
|
| -# Copyright 2004 Manfred Stienstra (the original version)
|
| -#
|
| -# All rights reserved.
|
| -#
|
| -# Redistribution and use in source and binary forms, with or without
|
| -# modification, are permitted provided that the following conditions are met:
|
| -#
|
| -# * Redistributions of source code must retain the above copyright
|
| -# notice, this list of conditions and the following disclaimer.
|
| -# * Redistributions in binary form must reproduce the above copyright
|
| -# notice, this list of conditions and the following disclaimer in the
|
| -# documentation and/or other materials provided with the distribution.
|
| -# * Neither the name of the <organization> nor the
|
| -# names of its contributors may be used to endorse or promote products
|
| -# derived from this software without specific prior written permission.
|
| -#
|
| -# THIS SOFTWARE IS PROVIDED BY THE PYTHON MARKDOWN PROJECT ''AS IS'' AND ANY
|
| -# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
| -# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
| -# DISCLAIMED. IN NO EVENT SHALL ANY CONTRIBUTORS TO THE PYTHON MARKDOWN PROJECT
|
| -# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
| -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
| -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
| -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
| -# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
| -# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
| -# POSSIBILITY OF SUCH DAMAGE.
|
| -
|
| -
|
| """
|
| Tables Extension for Python-Markdown
|
| ====================================
|
|
|
| Added parsing of tables to Python-Markdown.
|
|
|
| -A simple example:
|
| +See <https://pythonhosted.org/Markdown/extensions/tables.html>
|
| +for documentation.
|
| +
|
| +Original code Copyright 2009 [Waylan Limberg](http://achinghead.com)
|
|
|
| - First Header | Second Header
|
| - ------------- | -------------
|
| - Content Cell | Content Cell
|
| - Content Cell | Content Cell
|
| +All changes Copyright 2008-2014 The Python Markdown Project
|
| +
|
| +License: [BSD](http://www.opensource.org/licenses/bsd-license.php)
|
|
|
| -Copyright 2009 - [Waylan Limberg](http://achinghead.com)
|
| """
|
|
|
| from __future__ import absolute_import
|
| @@ -52,13 +21,14 @@ from . import Extension
|
| from ..blockprocessors import BlockProcessor
|
| from ..util import etree
|
|
|
| +
|
| class TableProcessor(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
|
| + return (len(rows) > 1 and '|' in rows[0] and
|
| + '|' in rows[1] and '-' in rows[1] and
|
| rows[1].strip()[0] in ['|', ':', '-'])
|
|
|
| def run(self, parent, blocks):
|
| @@ -66,7 +36,7 @@ class TableProcessor(BlockProcessor):
|
| block = blocks.pop(0).split('\n')
|
| header = block[0].strip()
|
| seperator = block[1].strip()
|
| - rows = block[2:]
|
| + rows = [] if len(block) < 3 else block[2:]
|
| # Get format type (bordered by pipes or not)
|
| border = False
|
| if header.startswith('|'):
|
| @@ -97,13 +67,13 @@ class TableProcessor(BlockProcessor):
|
| if parent.tag == 'thead':
|
| tag = 'th'
|
| cells = self._split_row(row, border)
|
| - # We use align here rather than cells to ensure every row
|
| + # 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:
|
| + except IndexError: # pragma: no cover
|
| c.text = ""
|
| if a:
|
| c.set('align', a)
|
| @@ -123,10 +93,10 @@ class TableExtension(Extension):
|
|
|
| def extendMarkdown(self, md, md_globals):
|
| """ Add an instance of TableProcessor to BlockParser. """
|
| - md.parser.blockprocessors.add('table',
|
| + md.parser.blockprocessors.add('table',
|
| TableProcessor(md.parser),
|
| '<hashheader')
|
|
|
|
|
| -def makeExtension(configs={}):
|
| - return TableExtension(configs=configs)
|
| +def makeExtension(*args, **kwargs):
|
| + return TableExtension(*args, **kwargs)
|
|
|