http://www.mediawiki.org/wiki/Special:Code/pywikipedia/11321
Revision: 11321
Author: xqt
Date: 2013-04-01 16:42:32 +0000 (Mon, 01 Apr 2013)
Log Message:
-----------
use findmarker() for extract_templates_and_params()
Modified Paths:
--------------
trunk/pywikipedia/pywikibot/textlib.py
Modified: trunk/pywikipedia/pywikibot/textlib.py
===================================================================
--- trunk/pywikipedia/pywikibot/textlib.py 2013-04-01 15:05:38 UTC (rev
11320)
+++ trunk/pywikipedia/pywikibot/textlib.py 2013-04-01 16:42:32 UTC (rev
11321)
@@ -108,7 +108,7 @@
dontTouchRegexes = []
for exc in exceptions:
- if isinstance(exc, str) or isinstance(exc, unicode):
+ if isinstance(exc, basestring):
# assume it's a reference to the exceptionRegexes dictionary
# defined above.
if exc in exceptionRegexes:
@@ -274,13 +274,13 @@
"""
# Find a marker that is not already in the text.
- marker = findmarker(text, '@@', '@')
+ marker = findmarker(text)
text = text[:index] + marker + text[index:]
text = removeDisabledParts(text, tags)
return (marker not in text)
-def findmarker(text, startwith=u'@', append=None):
+def findmarker(text, startwith=u'@@', append=None):
# find a string which is not part of text
if not append:
append = u'@'
@@ -446,7 +446,7 @@
"""
# Find a marker that is not already in the text.
- marker = findmarker(oldtext, u'@@')
+ marker = findmarker(oldtext)
if site is None:
site = pywikibot.getSite()
separator = site.family.interwiki_text_separator
@@ -706,7 +706,7 @@
"""
# Find a marker that is not already in the text.
- marker = findmarker(oldtext, u'@@')
+ marker = findmarker(oldtext)
if site is None:
site = pywikibot.getSite()
if site.sitename() == 'wikipedia:de' and "{{Personendaten" in oldtext:
@@ -844,24 +844,16 @@
thistxt = removeDisabledParts(text)
# marker for inside templates or parameters
- marker = u'@@'
- while marker in thistxt:
- marker += u'@'
+ marker = findmarker(thistxt)
# marker for links
- marker2 = u'##'
- while marker2 in thistxt:
- marker2 += u'#'
+ marker2 = findmarker(thistxt, u'##', u'#')
# marker for math
- marker3 = u'%%'
- while marker3 in thistxt:
- marker3 += u'%'
+ marker3 = findmarker(thistxt, u'%%', u'%')
# marker for value parameter
- marker4 = u'§§'
- while marker4 in thistxt:
- marker4 += u'§'
+ marker4 = findmarker(thistxt, u'§§', u'§')
result = []
Rtemplate = re.compile(
_______________________________________________
Pywikipedia-svn mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/pywikipedia-svn