Revision: 8307
Author:   xqt
Date:     2010-06-18 15:52:34 +0000 (Fri, 18 Jun 2010)

Log Message:
-----------
fix for replaceExcept() with exceptionRegexes['template'] because a infinite 
loop occures by some maths expression even they are excluded by 'math'. 
Example: <math>\mathrm{{}^{9}_4 Be  +  {}^{4}_2 \alpha \to {}^{1}{}^{2}_6 C + 
{}^{1}_0 n }</math>

Modified Paths:
--------------
    branches/rewrite/pywikibot/textlib.py
    trunk/pywikipedia/pywikibot/textlib.py

Modified: branches/rewrite/pywikibot/textlib.py
===================================================================
--- branches/rewrite/pywikibot/textlib.py       2010-06-18 10:55:33 UTC (rev 
8306)
+++ branches/rewrite/pywikibot/textlib.py       2010-06-18 15:52:34 UTC (rev 
8307)
@@ -80,7 +80,7 @@
         # templates cascaded up to level 2, but no deeper. For arbitrary
         # depth, we'd need recursion which can't be done in Python's re.
         # After all, the language of correct parenthesis words is not regular.
-        'template':    re.compile(r'(?s){{(({{.*?}})?.*?)*}}'),
+        'template':    re.compile(r'(?s){{(({{.*?}})|.)*}}'),
         'hyperlink':   compileLinkR(),
         'gallery':     re.compile(r'(?is)<gallery.*?>.*?</gallery>'),
         # this matches internal wikilinks, but also interwiki, categories, and

Modified: trunk/pywikipedia/pywikibot/textlib.py
===================================================================
--- trunk/pywikipedia/pywikibot/textlib.py      2010-06-18 10:55:33 UTC (rev 
8306)
+++ trunk/pywikipedia/pywikibot/textlib.py      2010-06-18 15:52:34 UTC (rev 
8307)
@@ -80,7 +80,7 @@
         # templates cascaded up to level 2, but no deeper. For arbitrary
         # depth, we'd need recursion which can't be done in Python's re.
         # After all, the language of correct parenthesis words is not regular.
-        'template':    re.compile(r'(?s){{(({{.*?}})?.*?)*}}'),
+        'template':    re.compile(r'(?s){{(({{.*?}})|.)*}}'),
         'hyperlink':   compileLinkR(),
         'gallery':     re.compile(r'(?is)<gallery.*?>.*?</gallery>'),
         # this matches internal wikilinks, but also interwiki, categories, and



_______________________________________________
Pywikipedia-svn mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/pywikipedia-svn

Reply via email to