Revision: 6943 Author: purodha Date: 2009-06-07 12:46:54 +0000 (Sun, 07 Jun 2009)
Log Message: ----------- I18n message handling shoved into one subroutine. Code simplified, more complete i18n prepared.
Modified Paths: -------------- trunk/pywikipedia/interwiki.py
Modified: trunk/pywikipedia/interwiki.py =================================================================== --- trunk/pywikipedia/interwiki.py 2009-06-07 05:24:19 UTC (rev 6942) +++ trunk/pywikipedia/interwiki.py 2009-06-07 12:46:54 UTC (rev 6943) @@ -1381,7 +1381,7 @@ except wikipedia.NoPage: wikipedia.output(u"BUG>>> %s no longer exists?" % new[site].aslink(True)) continue - mods, adding, removing, modifying = compareLanguages(old, new, insite = lclSite) + mods, mcomment, adding, removing, modifying = compareLanguages(old, new, insite = lclSite) if (len(removing) > 0 and not globalvar.autonomous) or (len(modifying) > 0 and self.problemfound) or len(old) == 0 or (globalvar.needlimit and len(adding) + len(modifying) >= globalvar.needlimit +1): try: if self.replaceLinks(new[site], new, bot): @@ -1498,7 +1498,7 @@ old[page2.site()] = page2
# Check what needs to get done - mods, adding, removing, modifying = compareLanguages(old, new, insite = page.site()) + mods, mcomment, adding, removing, modifying = compareLanguages(old, new, insite = page.site())
# When running in autonomous mode without -force switch, make sure we don't remove any items, but allow addition of the new ones if globalvar.autonomous and not globalvar.force and len(removing) > 0: @@ -1516,7 +1516,7 @@ new[rmsite] = old[rmsite] wikipedia.output(u"WARNING: %s is either deleted or has a mismatching disambiguation state." % rmPage.aslink(True)) # Re-Check what needs to get done - mods, adding, removing, modifying = compareLanguages(old, new, insite = page.site()) + mods, mcomment, adding, removing, modifying = compareLanguages(old, new, insite = page.site())
if not mods: wikipedia.output(u'No changes needed' ) @@ -1574,7 +1574,7 @@ timeout=60 while 1: try: - status, reason, data = page.put(newtext, comment = wikipedia.translate(page.site().lang, msg)[0] + mods) + status, reason, data = page.put(newtext, comment = mcomment) except wikipedia.LockedPage: wikipedia.output(u'Page %s is locked. Skipping.' % (page.title(),)) raise SaveError @@ -1877,7 +1877,8 @@ removing = sorted(oldiw - newiw) modifying = sorted(site for site in oldiw & newiw if old[site] != new[site])
- mods = "" + mcomment = u'' + mods = u''
if len(adding) + len(removing) + len(modifying) <= 3: # Use an extended format for the string linking to all added pages. @@ -1886,15 +1887,25 @@ # Use short format, just the language code fmt = lambda d, site: site.lang
- _, add, rem, mod = wikipedia.translate(insite.lang, msg) + colon = u': ' + comma = u', '
+ head, add, rem, mod = wikipedia.translate(insite.lang, msg) + + addtrail = u'' + remtrail = u'' + modtrail = u'' + trail = u'' + if adding: - mods += " %s: %s" % (add, ", ".join([fmt(new, x) for x in adding])) + mods += (add + colon + comma.join([fmt(new, x) for x in adding]) + addtrail) if removing: - mods += " %s: %s" % (rem, ", ".join([fmt(old, x) for x in removing])) + mods += (rem + colon + comma.join([fmt(old, x) for x in removing]) + remtrail) if modifying: - mods += " %s: %s" % (mod, ", ".join([fmt(new, x) for x in modifying])) - return mods, adding, removing, modifying + mods += (mod + colon + comma.join([fmt(new, x) for x in modifying]) + modtrail) + if mods: + mcomment = head + mods + trail + return mods, mcomment, adding, removing, modifying
def readWarnfile(filename, bot): import warnfile