Здравствуйте.
Нашёл пару багов:
Версия 2.1.0.832 из git (384f9729).
Если написать вот такую строку
то получаем бесконечную рекурсию.
Генерируется вот такой html:
<body>
<h1>Some
<ul>
<li>Some
<ul>
<li>Some
.....
<li>Some <b>Traceback (most recent call last):<br/>
File "D:\jk\outwiker\outwiker\src\outwiker\pages\wiki\parser\wikiparser.py", line 287, in parseWikiMarkup<br/>
return self._wikiMarkup.transformString(text)<br/>
File "D:\jk\outwiker\outwiker\src\outwiker\libs\pyparsing.py", line 1730, in transformString<br/>
for t,s,e in self.scanString( instring ):<br/>
File "D:\jk\outwiker\outwiker\src\outwiker\libs\pyparsing.py", line 1683, in scanString<br/>
nextLoc,tokens = parseFn( instring, preloc, callPreParse=False )<br/>
File "D:\jk\outwiker\outwiker\src\outwiker\libs\pyparsing.py", line 1379, in _parseNoCache<br/>
loc,tokens = self.parseImpl( instring, preloc, doActions )<br/>
File "D:\jk\outwiker\outwiker\src\outwiker\libs\pyparsing.py", line 3530, in parseImpl<br/>
ret = e._parse( instring, loc, doActions )<br/>
File "D:\jk\outwiker\outwiker\src\outwiker\libs\pyparsing.py", line 1379, in _parseNoCache<br/>
loc,tokens = self.parseImpl( instring, preloc, doActions )<br/>
File "D:\jk\outwiker\outwiker\src\outwiker\libs\pyparsing.py", line 3378, in parseImpl<br/>
loc, resultlist = self.exprs[0]._parse( instring, loc, doActions, callPreParse=False )<br/>
File "D:\jk\outwiker\outwiker\src\outwiker\libs\pyparsing.py", line 1410, in _parseNoCache<br/>
modal=self.modalResults )<br/>
File "D:\jk\outwiker\outwiker\src\outwiker\libs\pyparsing.py", line 386, in __init__<br/>
self[name] = toklist<br/>
File "D:\jk\outwiker\outwiker\src\outwiker\libs\pyparsing.py", line 401, in __setitem__<br/>
elif isinstance(k,(int,slice)):<br/>
RuntimeError: maximum recursion depth exceeded while calling a Python object<br/>
</b> header</li>
</ul>
header</li>
....
И второй мелкий баг (а, может, и не баг):
Насколько я понял из беглого просмотра исходников парсера, в заголовке может использоваться тег <code>. Во всяком случае, браузеры правильно понимают конструкцию вида <h2>Some <code>monospaced</code> header</h2>.
Однако, вики текст
!! Some @@monospaced@@ header
генерирует вот такой html:
<h1>Some @@monospaced@@ header</h1>
P.S. Спасибо большое за вашу программу, пользуюсь с удовольствием.