Hello community, here is the log from the commit of package python-Markdown for openSUSE:Factory checked in at 2017-08-19 10:56:37 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-Markdown (Old) and /work/SRC/openSUSE:Factory/.python-Markdown.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-Markdown" Sat Aug 19 10:56:37 2017 rev:23 rq:517620 version:2.6.9 Changes: -------- --- /work/SRC/openSUSE:Factory/python-Markdown/python-Markdown.changes 2017-05-22 10:48:45.954069046 +0200 +++ /work/SRC/openSUSE:Factory/.python-Markdown.new/python-Markdown.changes 2017-08-19 10:56:40.118333210 +0200 @@ -1,0 +2,5 @@ +Fri Aug 18 19:10:35 UTC 2017 - benoit.mo...@gmx.fr + +- update to version 2.6.9: bugfix release + +------------------------------------------------------------------- Old: ---- Markdown-2.6.8.tar.gz New: ---- Markdown-2.6.9.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-Markdown.spec ++++++ --- /var/tmp/diff_new_pack.qMkJhK/_old 2017-08-19 10:56:41.330162351 +0200 +++ /var/tmp/diff_new_pack.qMkJhK/_new 2017-08-19 10:56:41.346160094 +0200 @@ -19,7 +19,7 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} %define oldpython python Name: python-Markdown -Version: 2.6.8 +Version: 2.6.9 Release: 0 Summary: Python implementation of Markdown License: BSD-3-Clause ++++++ Markdown-2.6.8.tar.gz -> Markdown-2.6.9.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Markdown-2.6.8/PKG-INFO new/Markdown-2.6.9/PKG-INFO --- old/Markdown-2.6.8/PKG-INFO 2017-01-26 00:07:04.000000000 +0100 +++ new/Markdown-2.6.9/PKG-INFO 2017-08-18 02:07:22.000000000 +0200 @@ -1,12 +1,12 @@ Metadata-Version: 1.1 Name: Markdown -Version: 2.6.8 +Version: 2.6.9 Summary: Python implementation of Markdown. Home-page: https://pythonhosted.org/Markdown/ Author: Waylan Limberg -Author-email: waylan.limberg [at] icloud.com +Author-email: waylan.limb...@icloud.com License: BSD License -Download-URL: http://pypi.python.org/packages/source/M/Markdown/Markdown-2.6.8.tar.gz +Download-URL: http://pypi.python.org/packages/source/M/Markdown/Markdown-2.6.9.tar.gz Description: This is a Python implementation of John Gruber's Markdown_. It is almost completely compliant with the reference implementation, @@ -25,7 +25,7 @@ `mailing list`_ and report bugs on the `bug tracker`_. .. _`mailing list`: http://lists.sourceforge.net/lists/listinfo/python-markdown-discuss - .. _`bug tracker`: http://github.com/waylan/Python-Markdown/issues + .. _`bug tracker`: http://github.com/Python-Markdown/markdown/issues Platform: UNKNOWN Classifier: Development Status :: 5 - Production/Stable diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Markdown-2.6.8/README.md new/Markdown-2.6.9/README.md --- old/Markdown-2.6.8/README.md 2016-11-11 23:41:48.000000000 +0100 +++ new/Markdown-2.6.9/README.md 2017-08-18 01:05:53.000000000 +0200 @@ -1,12 +1,12 @@ [Python-Markdown][] =================== -[![Build Status](http://img.shields.io/travis/waylan/Python-Markdown.svg)](https://travis-ci.org/waylan/Python-Markdown) -[![Coverage Status](https://img.shields.io/coveralls/waylan/Python-Markdown.svg)](https://coveralls.io/r/waylan/Python-Markdown?branch=master) -[![Downloads](http://img.shields.io/pypi/dm/Markdown.svg)](https://pypi.python.org/pypi/Markdown#downloads) +[![Build Status](http://img.shields.io/travis/Python-Markdown/markdown.svg)](https://travis-ci.org/Python-Markdown/markdown) +[![Coverage Status](https://img.shields.io/coveralls/Python-Markdown/markdown.svg)](https://coveralls.io/r/Python-Markdown/markdown?branch=master) [![Latest Version](http://img.shields.io/pypi/v/Markdown.svg)](http://pypi.python.org/pypi/Markdown) +[![Python Versions](http://img.shields.io/pypi/pyversions/Markdown.svg)](http://pypi.python.org/pypi/Markdown) [![BSD License](http://img.shields.io/badge/license-BSD-yellow.svg)](http://opensource.org/licenses/BSD-3-Clause) -[![Issue Stats](http://issuestats.com/github/waylan/Python-Markdown/badge/issue?style=flat)](http://issuestats.com/github/waylan/Python-Markdown) +[![Code of Conduct](https://img.shields.io/badge/code%20of%20conduct-contributor%20covenant-green.svg?style=flat-square)][Code of Conduct] This is a Python implementation of John Gruber's [Markdown][]. It is almost completely compliant with the reference implementation, @@ -35,4 +35,11 @@ You may ask for help and discuss various other issues on the [mailing list][] and report bugs on the [bug tracker][]. [mailing list]: http://lists.sourceforge.net/lists/listinfo/python-markdown-discuss -[bug tracker]: http://github.com/waylan/Python-Markdown/issues +[bug tracker]: http://github.com/Python-Markdown/markdown/issues + +Code of Conduct +--------------- + +Everyone interacting in the Python-Markdown project's codebases, issue trackers, and mailing lists is expected to follow the [Code of Conduct]. + +[Code of Conduct]: https://github.com/Python-Markdown/markdown/blob/master/CODE_OF_CONDUCT.md diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Markdown-2.6.8/docs/_template.html new/Markdown-2.6.9/docs/_template.html --- old/Markdown-2.6.8/docs/_template.html 2016-11-11 23:41:48.000000000 +0100 +++ new/Markdown-2.6.9/docs/_template.html 2017-08-18 00:41:00.000000000 +0200 @@ -47,7 +47,7 @@ title="next chapter">%(next_title)s</a></p> <h3>This Page</h3> <ul class="this-page-menu"> - <li><a href="https://github.com/waylan/Python-Markdown/issues" + <li><a href="https://github.com/Python-Markdown/markdown/issues" >Report a Bug</a></li> <li><a href="%(source)s" rel="nofollow">Show Source</a></li> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Markdown-2.6.8/docs/change_log.txt new/Markdown-2.6.9/docs/change_log.txt --- old/Markdown-2.6.8/docs/change_log.txt 2016-11-11 23:41:48.000000000 +0100 +++ new/Markdown-2.6.9/docs/change_log.txt 2017-08-18 01:29:11.000000000 +0200 @@ -7,6 +7,10 @@ Python-Markdown Change Log ========================= +Aug 17, 2017: Released version 2.6.9 (a bug-fix release). + +Jan 25, 2017: Released version 2.6.8 (a bug-fix release). + Sept 23, 2016: Released version 2.6.7 (a bug-fix release). Mar 20, 2016: Released version 2.6.6 (a bug-fix release). @@ -21,7 +25,7 @@ Mar 8, 2015: Released version 2.6.1 (a bug-fix release). The (new) `yaml` option has been removed from the Meta-Data Extension as it was buggy -(see [#390](https://github.com/waylan/Python-Markdown/issues/390)). +(see [#390](https://github.com/Python-Markdown/markdown/issues/390)). Feb 19, 2015: Released version 2.6 ([Notes](release-2.6.html)). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Markdown-2.6.8/docs/extensions/api.txt new/Markdown-2.6.9/docs/extensions/api.txt --- old/Markdown-2.6.8/docs/extensions/api.txt 2016-11-11 23:41:48.000000000 +0100 +++ new/Markdown-2.6.9/docs/extensions/api.txt 2017-03-21 04:33:42.000000000 +0100 @@ -463,7 +463,7 @@ * **`value`**: The object instance stored in this item. -* **`location`**: Optional. The items location in relation to other items. +* **`location`**: The items location in relation to other items. Note that the location can consist of a few different values: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Markdown-2.6.8/docs/extensions/index.txt new/Markdown-2.6.9/docs/extensions/index.txt --- old/Markdown-2.6.8/docs/extensions/index.txt 2016-11-11 23:41:48.000000000 +0100 +++ new/Markdown-2.6.9/docs/extensions/index.txt 2017-08-18 00:50:35.000000000 +0200 @@ -84,4 +84,4 @@ offers no official support for these extensions. Please see the developer of each extension for support. -[list]: https://github.com/waylan/Python-Markdown/wiki/Third-Party-Extensions +[list]: https://github.com/Python-Markdown/markdown/wiki/Third-Party-Extensions diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Markdown-2.6.8/docs/index.txt new/Markdown-2.6.9/docs/index.txt --- old/Markdown-2.6.8/docs/index.txt 2016-11-11 23:41:48.000000000 +0100 +++ new/Markdown-2.6.9/docs/index.txt 2017-08-18 00:42:56.000000000 +0200 @@ -112,4 +112,4 @@ and report bugs on the [bug tracker][]. [mailing list]: http://lists.sourceforge.net/lists/listinfo/python-markdown-discuss -[bug tracker]: http://github.com/waylan/Python-Markdown/issues +[bug tracker]: http://github.com/Python-Markdown/markdown/issues diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Markdown-2.6.8/docs/install.txt new/Markdown-2.6.9/docs/install.txt --- old/Markdown-2.6.8/docs/install.txt 2016-11-11 23:41:48.000000000 +0100 +++ new/Markdown-2.6.9/docs/install.txt 2017-08-18 00:44:12.000000000 +0200 @@ -62,6 +62,6 @@ get a copy of Python-Markdown from the repository do the following from the command line: - git clone git://github.com/waylan/Python-Markdown.git python-markdown + git clone git://github.com/Python-Markdown/markdown.git python-markdown cd python-markdown python setup.py install diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Markdown-2.6.8/docs/release-2.1.0.txt new/Markdown-2.6.9/docs/release-2.1.0.txt --- old/Markdown-2.6.8/docs/release-2.1.0.txt 2016-11-11 23:41:48.000000000 +0100 +++ new/Markdown-2.6.9/docs/release-2.1.0.txt 2017-08-18 00:45:22.000000000 +0200 @@ -118,5 +118,5 @@ behavior. See the [Test Suite](test_suite.html) documentation for details. Various bug fixes have been made, which are too numerous to list here. See the -[commit log](https://github.com/waylan/Python-Markdown/commits/master) for a +[commit log](https://github.com/Python-Markdown/markdown/commits/master) for a complete history of the changes. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Markdown-2.6.8/docs/release-2.2.0.txt new/Markdown-2.6.9/docs/release-2.2.0.txt --- old/Markdown-2.6.8/docs/release-2.2.0.txt 2016-11-11 23:41:48.000000000 +0100 +++ new/Markdown-2.6.9/docs/release-2.2.0.txt 2017-08-18 00:45:52.000000000 +0200 @@ -64,5 +64,5 @@ within any Blockprocessor instance. Various bug fixes have been made. See the -[commit log](https://github.com/waylan/Python-Markdown/commits/master) +[commit log](https://github.com/Python-Markdown/markdown/commits/master) for a complete history of the changes. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Markdown-2.6.8/docs/release-2.3.txt new/Markdown-2.6.9/docs/release-2.3.txt --- old/Markdown-2.6.8/docs/release-2.3.txt 2016-11-11 23:41:48.000000000 +0100 +++ new/Markdown-2.6.9/docs/release-2.3.txt 2017-08-18 00:46:19.000000000 +0200 @@ -84,5 +84,5 @@ [rST]: http://docutils.sourceforge.net/docs/ref/rst/directives.html#specific-admonitions * Various bug fixes have been made. See the -[commit log](https://github.com/waylan/Python-Markdown/commits/master) +[commit log](https://github.com/Python-Markdown/markdown/commits/master) for a complete history of the changes. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Markdown-2.6.8/docs/release-2.4.txt new/Markdown-2.6.9/docs/release-2.4.txt --- old/Markdown-2.6.8/docs/release-2.4.txt 2016-11-11 23:41:48.000000000 +0100 +++ new/Markdown-2.6.9/docs/release-2.4.txt 2017-08-18 00:46:37.000000000 +0200 @@ -73,5 +73,5 @@ [A. Jesse Jiryu Davis]: https://github.com/ajdavis * Various bug fixes have been made. See the -[commit log](https://github.com/waylan/Python-Markdown/commits/master) +[commit log](https://github.com/Python-Markdown/markdown/commits/master) for a complete history of the changes. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Markdown-2.6.8/docs/release-2.5.txt new/Markdown-2.6.9/docs/release-2.5.txt --- old/Markdown-2.6.8/docs/release-2.5.txt 2016-11-11 23:41:48.000000000 +0100 +++ new/Markdown-2.6.9/docs/release-2.5.txt 2017-08-18 00:47:00.000000000 +0200 @@ -183,5 +183,5 @@ benefit everyone. * Various bug fixes have been made. See the - [commit log](https://github.com/waylan/Python-Markdown/commits/master) + [commit log](https://github.com/Python-Markdown/markdown/commits/master) for a complete history of the changes. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Markdown-2.6.8/docs/release-2.6.txt new/Markdown-2.6.9/docs/release-2.6.txt --- old/Markdown-2.6.8/docs/release-2.6.txt 2016-11-11 23:41:48.000000000 +0100 +++ new/Markdown-2.6.9/docs/release-2.6.txt 2017-08-18 00:48:10.000000000 +0200 @@ -206,7 +206,7 @@ [MultiMarkdown]: http://fletcherpenney.net/MultiMarkdown_Syntax_Guide#metadata [Meta-Data]: extensions/meta_data.html [YAML]: http://yaml.org/ -[#390]: https://github.com/waylan/Python-Markdown/issues/390 +[#390]: https://github.com/Python-Markdown/markdown/issues/390 ### Table of Contents Extension Refactored @@ -259,5 +259,5 @@ [flake8]: https://flake8.readthedocs.io/en/latest/ Various bug fixes have been made. See the -[commit log](https://github.com/waylan/Python-Markdown/commits/master) +[commit log](https://github.com/Python-Markdown/markdown/commits/master) for a complete history of the changes. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Markdown-2.6.8/docs/test_suite.txt new/Markdown-2.6.9/docs/test_suite.txt --- old/Markdown-2.6.8/docs/test_suite.txt 2016-11-11 23:41:48.000000000 +0100 +++ new/Markdown-2.6.9/docs/test_suite.txt 2017-08-18 00:49:01.000000000 +0200 @@ -134,5 +134,5 @@ [PHP]: http://michelf.com/projects/php-markdown/ [PyTidyLib]: http://countergram.com/open-source/pytidylib/ [tox]: http://testrun.org/tox/latest/ -[setting up a testing environment]: https://github.com/waylan/Python-Markdown/wiki/Test-Environment-Setup +[setting up a testing environment]: https://github.com/Python-Markdown/markdown/wiki/Test-Environment-Setup [YAML]: http://yaml.org/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Markdown-2.6.8/makefile new/Markdown-2.6.9/makefile --- old/Markdown-2.6.8/makefile 2016-11-11 23:41:48.000000000 +0100 +++ new/Markdown-2.6.9/makefile 2017-08-18 01:44:42.000000000 +0200 @@ -20,7 +20,6 @@ .PHONY : deploy deploy: - python setup.py register python setup.py sdist --manifest-only python setup.py sdist --formats zip,gztar upload diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Markdown-2.6.8/markdown/__version__.py new/Markdown-2.6.9/markdown/__version__.py --- old/Markdown-2.6.8/markdown/__version__.py 2017-01-26 00:02:19.000000000 +0100 +++ new/Markdown-2.6.9/markdown/__version__.py 2017-08-18 01:29:03.000000000 +0200 @@ -5,7 +5,7 @@ # (major, minor, micro, alpha/beta/rc/final, #) # (1, 1, 2, 'alpha', 0) => "1.1.2.dev" # (1, 2, 0, 'beta', 2) => "1.2b2" -version_info = (2, 6, 8, 'final', 0) +version_info = (2, 6, 9, 'final', 0) def _get_version(): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Markdown-2.6.8/markdown/blockprocessors.py new/Markdown-2.6.9/markdown/blockprocessors.py --- old/Markdown-2.6.8/markdown/blockprocessors.py 2017-01-25 23:05:42.000000000 +0100 +++ new/Markdown-2.6.9/markdown/blockprocessors.py 2017-08-18 00:35:08.000000000 +0200 @@ -391,7 +391,7 @@ # Check first item for the start index if not items and self.TAG == 'ol': # Detect the integer value of first list item - INTEGER_RE = re.compile('(\d+)') + INTEGER_RE = re.compile(r'(\d+)') self.STARTSWITH = INTEGER_RE.match(m.group(1)).group() # Append to the list items.append(m.group(3)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Markdown-2.6.8/markdown/extensions/admonition.py new/Markdown-2.6.9/markdown/extensions/admonition.py --- old/Markdown-2.6.8/markdown/extensions/admonition.py 2016-11-11 23:41:48.000000000 +0100 +++ new/Markdown-2.6.9/markdown/extensions/admonition.py 2017-03-21 04:33:42.000000000 +0100 @@ -41,7 +41,7 @@ CLASSNAME = 'admonition' CLASSNAME_TITLE = 'admonition-title' - RE = re.compile(r'(?:^|\n)!!!\ ?([\w\-]+)(?:\ "(.*?)")?') + RE = re.compile(r'(?:^|\n)!!! ?([\w\-]+)(?: +"(.*?)")? *(?:\n|$)') def test(self, parent, block): sibling = self.lastChild(parent) @@ -55,7 +55,7 @@ m = self.RE.search(block) if m: - block = block[m.end() + 1:] # removes the first line + block = block[m.end():] # removes the first line block, theRest = self.detab(block) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Markdown-2.6.8/markdown/extensions/tables.py new/Markdown-2.6.9/markdown/extensions/tables.py --- old/Markdown-2.6.8/markdown/extensions/tables.py 2017-01-25 23:05:42.000000000 +0100 +++ new/Markdown-2.6.9/markdown/extensions/tables.py 2017-03-21 04:33:42.000000000 +0100 @@ -21,6 +21,9 @@ from ..blockprocessors import BlockProcessor from ..util import etree import re +PIPE_NONE = 0 +PIPE_LEFT = 1 +PIPE_RIGHT = 2 class TableProcessor(BlockProcessor): @@ -41,17 +44,33 @@ Keep border check and separator row do avoid repeating the work. """ is_table = False - header = [row.strip() for row in block.split('\n')[0:2]] - if len(header) == 2: - self.border = header[0].startswith('|') - row = self._split_row(header[0]) - is_table = len(row) > 1 + rows = [row.strip() for row in block.split('\n')] + if len(rows) > 1: + header0 = rows[0] + self.border = PIPE_NONE + if header0.startswith('|'): + self.border |= PIPE_LEFT + if self.RE_END_BORDER.search(header0) is not None: + self.border |= PIPE_RIGHT + row = self._split_row(header0) + row0_len = len(row) + is_table = row0_len > 1 + + # Each row in a single column table needs at least one pipe. + if not is_table and row0_len == 1 and self.border: + for index in range(1, len(rows)): + is_table = rows[index].startswith('|') + if not is_table: + is_table = self.RE_END_BORDER.search(rows[index]) is not None + if not is_table: + break if is_table: - row = self._split_row(header[1]) - is_table = len(row) > 1 and set(''.join(row)) <= set('|:- ') + row = self._split_row(rows[1]) + is_table = (len(row) == row0_len) and set(''.join(row)) <= set('|:- ') if is_table: self.separator = row + return is_table def run(self, parent, blocks): @@ -78,8 +97,20 @@ thead = etree.SubElement(table, 'thead') self._build_row(header, thead, align) tbody = etree.SubElement(table, 'tbody') - for row in rows: - self._build_row(row.strip(), tbody, align) + if len(rows) == 0: + # Handle empty table + self._build_empty_row(tbody, align) + else: + for row in rows: + self._build_row(row.strip(), tbody, align) + + def _build_empty_row(self, parent, align): + """Build an empty row.""" + tr = etree.SubElement(parent, 'tr') + count = len(align) + while count: + etree.SubElement(tr, 'td') + count -= 1 def _build_row(self, row, parent, align): """ Given a row of text, build table cells. """ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Markdown-2.6.8/markdown/inlinepatterns.py new/Markdown-2.6.9/markdown/inlinepatterns.py --- old/Markdown-2.6.8/markdown/inlinepatterns.py 2017-01-25 23:05:42.000000000 +0100 +++ new/Markdown-2.6.9/markdown/inlinepatterns.py 2017-08-18 00:35:08.000000000 +0200 @@ -140,7 +140,7 @@ SHORT_REF_RE = NOIMG + r'\[([^\]]+)\]' # ![alt text][2] -IMAGE_REFERENCE_RE = r'\!' + BRK + '\s?\[([^\]]*)\]' +IMAGE_REFERENCE_RE = r'\!' + BRK + r'\s?\[([^\]]*)\]' # stand-alone * or _ NOT_STRONG_RE = r'((^| )(\*|_)( |$))' @@ -170,7 +170,7 @@ return string -ATTR_RE = re.compile("\{@([^\}]*)=([^\}]*)}") # {@id=123} +ATTR_RE = re.compile(r"\{@([^\}]*)=([^\}]*)}") # {@id=123} def handleAttributes(text, parent): @@ -351,7 +351,7 @@ try: return self.markdown.serializer(value) except: - return '\%s' % value + return r'\%s' % value return util.INLINE_PLACEHOLDER_RE.sub(get_stash, text) @@ -458,7 +458,7 @@ except IndexError: id = None if not id: - # if we got something like "[Google][]" or "[Goggle]" + # if we got something like "[Google][]" or "[Google]" # we'll use "google" as the id id = m.group(2).lower() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Markdown-2.6.8/markdown/postprocessors.py new/Markdown-2.6.9/markdown/postprocessors.py --- old/Markdown-2.6.8/markdown/postprocessors.py 2016-11-11 23:41:48.000000000 +0100 +++ new/Markdown-2.6.9/markdown/postprocessors.py 2017-08-18 00:35:08.000000000 +0200 @@ -102,7 +102,7 @@ class UnescapePostprocessor(Postprocessor): """ Restore escaped chars """ - RE = re.compile('%s(\d+)%s' % (util.STX, util.ETX)) + RE = re.compile(r'%s(\d+)%s' % (util.STX, util.ETX)) def unescape(self, m): return util.int2str(int(m.group(1))) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Markdown-2.6.8/setup.py new/Markdown-2.6.9/setup.py --- old/Markdown-2.6.8/setup.py 2017-01-04 06:33:56.000000000 +0100 +++ new/Markdown-2.6.9/setup.py 2017-08-18 02:07:03.000000000 +0200 @@ -230,7 +230,7 @@ `mailing list`_ and report bugs on the `bug tracker`_. .. _`mailing list`: http://lists.sourceforge.net/lists/listinfo/python-markdown-discuss -.. _`bug tracker`: http://github.com/waylan/Python-Markdown/issues +.. _`bug tracker`: http://github.com/Python-Markdown/markdown/issues ''' setup( @@ -241,9 +241,9 @@ description='Python implementation of Markdown.', long_description=long_description, author='Manfred Stienstra, Yuri takhteyev and Waylan limberg', - author_email='waylan.limberg [at] icloud.com', + author_email='waylan.limb...@icloud.com', maintainer='Waylan Limberg', - maintainer_email='waylan.limberg [at] icloud.com', + maintainer_email='waylan.limb...@icloud.com', license='BSD License', packages=['markdown', 'markdown.extensions'], scripts=['bin/%s' % SCRIPT_NAME], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Markdown-2.6.8/tests/extensions/admonition.html new/Markdown-2.6.9/tests/extensions/admonition.html --- old/Markdown-2.6.8/tests/extensions/admonition.html 2015-08-28 05:42:04.000000000 +0200 +++ new/Markdown-2.6.9/tests/extensions/admonition.html 2017-03-21 04:33:42.000000000 +0100 @@ -28,4 +28,12 @@ </div> <div class="admonition tip"> <p>An explicitly empty string prevents the title from being rendered.</p> +</div> +<p>No body:</p> +<div class="admonition note"> +<p class="admonition-title">Note</p> +</div> +<p>Extra whitespace after the title should not alter output:</p> +<div class="admonition note"> +<p class="admonition-title">Note</p> </div> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Markdown-2.6.8/tests/extensions/admonition.txt new/Markdown-2.6.9/tests/extensions/admonition.txt --- old/Markdown-2.6.8/tests/extensions/admonition.txt 2015-08-28 05:42:04.000000000 +0200 +++ new/Markdown-2.6.9/tests/extensions/admonition.txt 2017-03-21 04:33:42.000000000 +0100 @@ -27,3 +27,11 @@ !!! tip "" An explicitly empty string prevents the title from being rendered. + +No body: + +!!! note + +Extra whitespace after the title should not alter output: + +!!! note diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Markdown-2.6.8/tests/extensions/extra/tables.html new/Markdown-2.6.9/tests/extensions/extra/tables.html --- old/Markdown-2.6.8/tests/extensions/extra/tables.html 2017-01-25 23:05:42.000000000 +0100 +++ new/Markdown-2.6.9/tests/extensions/extra/tables.html 2017-03-21 04:33:42.000000000 +0100 @@ -167,7 +167,12 @@ <th>Second Header</th> </tr> </thead> -<tbody></tbody> +<tbody> +<tr> +<td></td> +<td></td> +</tr> +</tbody> </table> <p>More inline code block tests</p> <table> @@ -375,4 +380,87 @@ <td>\\<code>code</code></td> </tr> </tbody> -</table> \ No newline at end of file +</table> +<p>Single column tables</p> +<table> +<thead> +<tr> +<th>Is a Table</th> +</tr> +</thead> +<tbody> +<tr> +<td></td> +</tr> +</tbody> +</table> +<table> +<thead> +<tr> +<th>Is a Table</th> +</tr> +</thead> +<tbody> +<tr> +<td></td> +</tr> +</tbody> +</table> +<table> +<thead> +<tr> +<th>Is a Table</th> +</tr> +</thead> +<tbody> +<tr> +<td></td> +</tr> +</tbody> +</table> +<table> +<thead> +<tr> +<th>Is a Table</th> +</tr> +</thead> +<tbody> +<tr> +<td>row</td> +</tr> +</tbody> +</table> +<table> +<thead> +<tr> +<th>Is a Table</th> +</tr> +</thead> +<tbody> +<tr> +<td>row</td> +</tr> +</tbody> +</table> +<table> +<thead> +<tr> +<th>Is a Table</th> +</tr> +</thead> +<tbody> +<tr> +<td>row</td> +</tr> +</tbody> +</table> +<h2>| Is not a Table</h2> +<p>| row</p> +<h2>Is not a Table |</h2> +<p>row |</p> +<p>| Is not a Table +| -------------- +row</p> +<p>Is not a Table | +-------------- | +row</p> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Markdown-2.6.8/tests/extensions/extra/tables.txt new/Markdown-2.6.9/tests/extensions/extra/tables.txt --- old/Markdown-2.6.8/tests/extensions/extra/tables.txt 2017-01-25 23:05:42.000000000 +0100 +++ new/Markdown-2.6.9/tests/extensions/extra/tables.txt 2017-03-21 04:33:42.000000000 +0100 @@ -128,3 +128,42 @@ ------------------ | -------------- \`Not code\` | \\`code` \\\`Not code\\\` | \\\\`code` + +Single column tables + +| Is a Table | +| ---------- | + +| Is a Table +| ---------- + +Is a Table | +---------- | + +| Is a Table | +| ---------- | +| row | + +| Is a Table +| ---------- +| row + +Is a Table | +---------- | +row | + +| Is not a Table +-------------- +| row + +Is not a Table | +-------------- +row | + +| Is not a Table +| -------------- +row + +Is not a Table | +-------------- | +row diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Markdown-2.6.8/tests/test_extensions.py new/Markdown-2.6.9/tests/test_extensions.py --- old/Markdown-2.6.8/tests/test_extensions.py 2016-11-11 23:41:49.000000000 +0100 +++ new/Markdown-2.6.9/tests/test_extensions.py 2017-03-21 04:33:42.000000000 +0100 @@ -932,3 +932,27 @@ is the ‚mdash‘: \u2014 Must not be confused with ‚ndash‘ (\u2013) \u2026 ]</p>""" self.assertEqual(self.md.convert(text), correct) + + +class TestFootnotes(unittest.TestCase): + """ Test Footnotes extension. """ + + def testBacklinkText(self): + md = markdown.Markdown( + extensions=['markdown.extensions.footnotes'], + extension_configs={'markdown.extensions.footnotes': {'BACKLINK_TEXT': 'back'}} + ) + text = 'paragraph[^1]\n\n[^1]: A Footnote' + self.assertEqual( + md.convert(text), + '<p>paragraph<sup id="fnref:1"><a class="footnote-ref" href="#fn:1" rel="footnote">1</a></sup></p>\n' + '<div class="footnote">\n' + '<hr />\n' + '<ol>\n' + '<li id="fn:1">\n' + '<p>A Footnote <a class="footnote-backref" href="#fnref:1" rev="footnote"' + ' title="Jump back to footnote 1 in the text">back</a></p>\n' + '</li>\n' + '</ol>\n' + '</div>' + )