http://www.mediawiki.org/wiki/Special:Code/pywikipedia/9700
Revision: 9700 Author: xqt Date: 2011-10-30 20:22:27 +0000 (Sun, 30 Oct 2011) Log Message: ----------- shorten Page.title() with Page__unicode__(); some updates from rewrite branch
Modified Paths: -------------- trunk/pywikipedia/interwiki.py
Modified: trunk/pywikipedia/interwiki.py =================================================================== --- trunk/pywikipedia/interwiki.py 2011-10-30 20:20:20 UTC (rev 9699) +++ trunk/pywikipedia/interwiki.py 2011-10-30 20:22:27 UTC (rev 9700) @@ -823,7 +823,7 @@ this Object. """
- def __init__(self, originPage = None, hints = None): + def __init__(self, originPage=None, hints=None): """Constructor. Takes as arguments the Page on the home wiki plus optionally a list of hints for translation"""
@@ -916,9 +916,9 @@ pages = titletranslate.translate(self.originPage, hints = ['all:'], auto = globalvar.auto, removebrackets = globalvar.hintnobracket) else: - pages = titletranslate.translate(self.originPage, hints = hints, + pages = titletranslate.translate(self.originPage, hints=hints, auto = globalvar.auto, removebrackets = globalvar.hintnobracket, - site = pywikibot.getSite() ) + site = pywikibot.getSite()) for page in pages: if globalvar.contentsondisk: page = StoredPage(page) @@ -982,7 +982,7 @@ if page == self.originPage: try: pywikibot.output(u"%s has a backlink from %s." - % (page.title(asLink=True), linkingPage.title(asLink=True))) + % (page, linkingPage)) except UnicodeDecodeError: pywikibot.output(u"Found a backlink for a page.") self.makeForcedStop(counter) @@ -1025,12 +1025,8 @@ return False if globalvar.autonomous: pywikibot.output(u"NOTE: Ignoring link from page %s in namespace %i to page %s in namespace %i." - % (linkingPage.title(asLink=True, - forceInterwiki=True), - linkingPage.namespace(), - linkedPage.title(asLink=True, - forceInterwiki=True), - linkedPage.namespace())) + % (linkingPage, linkingPage.namespace(), + linkedPage, linkedPage.namespace())) # Fill up foundIn, so that we will not write this notice self.foundIn[linkedPage] = [linkingPage] return True @@ -1038,23 +1034,14 @@ preferredPage = self.getFoundInCorrectNamespace(linkedPage.site()) if preferredPage: pywikibot.output(u"NOTE: Ignoring link from page %s in namespace %i to page %s in namespace %i because page %s in the correct namespace has already been found." - % (linkingPage.title(asLink=True, - forceInterwiki=True), - linkingPage.namespace(), - linkedPage.title(asLink=True, - forceInterwiki=True), - linkedPage.namespace(), - preferredPage.title(asLink=True, - forceInterwiki=True))) + % (linkingPage, linkingPage.namespace(), linkedPage, + linkedPage.namespace(), preferredPage)) return True else: choice = pywikibot.inputChoice( u'WARNING: %s is in namespace %i, but %s is in namespace %i. Follow it anyway?' - % (self.originPage.title(asLink=True, - forceInterwiki=True), - self.originPage.namespace(), - linkedPage.title(asLink=True, forceInterwiki=True), - linkedPage.namespace()), + % (self.originPage, self.originPage.namespace(), + linkedPage, linkedPage.namespace()), ['Yes', 'No', 'Add an alternative', 'give up'], ['y', 'n', 'a', 'g']) if choice != 'y': @@ -1063,7 +1050,8 @@ if choice == 'g': self.makeForcedStop(counter) elif choice == 'a': - newHint = pywikibot.input(u'Give the alternative for language %s, not using a language code:' % linkedPage.site().language()) + newHint = pywikibot.input(u'Give the alternative for language %s, not using a language code:' + % linkedPage.site().language()) if newHint: alternativePage = pywikibot.Page(linkedPage.site(), newHint) if alternativePage: @@ -1072,8 +1060,7 @@ else: pywikibot.output( u"NOTE: ignoring %s and its interwiki links" - % linkedPage.title(asLink=True, - forceInterwiki=True)) + % linkedPage) return True else: # same namespaces, no problem @@ -1083,10 +1070,11 @@ def wiktionaryMismatch(self, page): if self.originPage and globalvar.same=='wiktionary': if page.title().lower() != self.originPage.title().lower(): - pywikibot.output(u"NOTE: Ignoring %s for %s in wiktionary mode" % (page.title(asLink=True), self.originPage.title(asLink=True))) + pywikibot.output(u"NOTE: Ignoring %s for %s in wiktionary mode" % (page, self.originPage)) return True elif page.title() != self.originPage.title() and self.originPage.site().nocapitalize and page.site().nocapitalize: - pywikibot.output(u"NOTE: Ignoring %s for %s in wiktionary mode because both languages are uncapitalized." % (page.title(asLink=True), self.originPage.title(asLink=True))) + pywikibot.output(u"NOTE: Ignoring %s for %s in wiktionary mode because both languages are uncapitalized." + % (page, self.originPage)) return True return False
@@ -1109,17 +1097,11 @@ if globalvar.autonomous: if self.originPage.isDisambig() and not page.isDisambig(): pywikibot.output(u"NOTE: Ignoring link from disambiguation page %s to non-disambiguation %s" - % (self.originPage.title(asLink=True, - forceInterwiki=True), - page.title(asLink=True, - forceInterwiki=True))) + % (self.originPage, page)) return (True, None) elif not self.originPage.isDisambig() and page.isDisambig(): pywikibot.output(u"NOTE: Ignoring link from non-disambiguation page %s to disambiguation %s" - % (self.originPage.title(asLink=True, - forceInterwiki=True), - page.title(asLink=True, - forceInterwiki=True))) + % (self.originPage, page)) return (True, None) else: choice = 'y' @@ -1128,36 +1110,24 @@ if disambig: pywikibot.output( u"NOTE: Ignoring non-disambiguation page %s for %s because disambiguation page %s has already been found." - % (page.title(asLink=True, forceInterwiki=True), - self.originPage.title(asLink=True, - forceInterwiki=True), - disambig.title(asLink=True, forceInterwiki=True))) + % (page, self.originPage, disambig)) return (True, None) else: choice = pywikibot.inputChoice( u'WARNING: %s is a disambiguation page, but %s doesn't seem to be one. Follow it anyway?' - % (self.originPage.title(asLink=True, - forceInterwiki=True), - page.title(asLink=True, forceInterwiki=True)), + % (self.originPage, page), ['Yes', 'No', 'Add an alternative', 'Give up'], ['y', 'n', 'a', 'g']) elif not self.originPage.isDisambig() and page.isDisambig(): nondisambig = self.getFoundNonDisambig(page.site()) if nondisambig: pywikibot.output(u"NOTE: Ignoring disambiguation page %s for %s because non-disambiguation page %s has already been found." - % (page.title(asLink=True, - forceInterwiki=True), - self.originPage.title(asLink=True, - forceInterwiki=True), - nondisambig.title(asLink=True, - forceInterwiki=True))) + % (page, self.originPage, nondisambig)) return (True, None) else: choice = pywikibot.inputChoice( u'WARNING: %s doesn't seem to be a disambiguation page, but %s is one. Follow it anyway?' - % (self.originPage.title(asLink=True, - forceInterwiki=True), - page.title(asLink=True, forceInterwiki=True)), + % (self.originPage, page), ['Yes', 'No', 'Add an alternative', 'Give up'], ['y', 'n', 'a', 'g']) if choice == 'n': @@ -1175,22 +1145,22 @@
def isIgnored(self, page): if page.site().language() in globalvar.neverlink: - pywikibot.output(u"Skipping link %s to an ignored language" % page.title(asLink=True)) + pywikibot.output(u"Skipping link %s to an ignored language" % page) return True if page in globalvar.ignore: - pywikibot.output(u"Skipping link %s to an ignored page" % page.title(asLink=True)) + pywikibot.output(u"Skipping link %s to an ignored page" % page) return True return False
def reportInterwikilessPage(self, page): if not globalvar.quiet or pywikibot.verbose: pywikibot.output(u"NOTE: %s does not have any interwiki links" - % self.originPage.title(asLink=True, - forceInterwiki=True)) + % self.originPage) if config.without_interwiki: f = codecs.open( - pywikibot.config.datafilepath('without_interwiki.txt'), 'a', 'utf-8') - f.write(u"# %s \n" % page.title(asLink=True, forceInterwiki=True)) + pywikibot.config.datafilepath('without_interwiki.txt'), + 'a', 'utf-8') + f.write(u"# %s \n" % page) f.close()
def askForHints(self, counter): @@ -1248,7 +1218,7 @@ if self.originPage: pywikibot.output(u'WARNING: %s:%s relates to %s:%s, which is an auto entry %s(%s)' % (self.originPage.site().language(), self.originPage.title(), - page.site().language(),page.title(),dictName,year)) + page.site().language(), page.title(), dictName, year))
# Abort processing if the bot is running in autonomous mode. if globalvar.autonomous: @@ -1261,12 +1231,10 @@ # todo list.
if not page.exists(): - globalvar.remove.append(page.title(asLink=True, - forceInterwiki=True)) + globalvar.remove.append(unicode(page)) if not globalvar.quiet or pywikibot.verbose: pywikibot.output(u"NOTE: %s does not exist. Skipping." - % page.title(asLink=True, - forceInterwiki=True)) + % page) if page == self.originPage: # The page we are working on is the page that does not exist. # No use in doing any work on it in that case. @@ -1291,17 +1259,12 @@ # MW considers #redirect [[en:#foo]] as a redirect page, # but we can't do anything useful with such pages if not globalvar.quiet or pywikibot.verbose: - pywikibot.output(u"NOTE: %s redirects to an invalid title" - % page.title(asLink=True, - forceInterwiki=True)) + pywikibot.output( + u"NOTE: %s redirects to an invalid title" % page) continue if not globalvar.quiet or pywikibot.verbose: pywikibot.output(u"NOTE: %s is %sredirect to %s" - % (page.title(asLink=True, - forceInterwiki=True), - redir, - redirectTargetPage.title(asLink=True, - forceInterwiki=True))) + % (page, redir, redirectTargetPage)) if self.originPage is None or page == self.originPage: # the 1st existig page becomes the origin page, if none was supplied if globalvar.initialredirect: @@ -1322,31 +1285,27 @@ self.todo = PageTree() elif not globalvar.followredirect: if not globalvar.quiet or pywikibot.verbose: - pywikibot.output(u"NOTE: not following %sredirects." % redir) + pywikibot.output(u"NOTE: not following %sredirects." + % redir) elif page.isStaticRedirect(): if not globalvar.quiet or pywikibot.verbose: - pywikibot.output(u"NOTE: not following static %sredirects." % redir) + pywikibot.output( + u"NOTE: not following static %sredirects." % redir) elif page.site().family == redirectTargetPage.site().family \ and not self.skipPage(page, redirectTargetPage, counter): if self.addIfNew(redirectTargetPage, counter, page): if config.interwiki_shownew or pywikibot.verbose: pywikibot.output(u"%s: %s gives new %sredirect %s" - % (self.originPage.title(asLink=True), - page.title(asLink=True, forceInterwiki=True), - redir, - redirectTargetPage.title(asLink=True, - forceInterwiki=True))) + % (self.originPage, page, redir, + redirectTargetPage)) continue
# must be behind the page.isRedirectPage() part # otherwise a redirect error would be raised elif page.isEmpty() and not page.isCategory(): - globalvar.remove.append(page.title(asLink=True, - forceInterwiki=True)) + globalvar.remove.append(unicode(page)) if not globalvar.quiet or pywikibot.verbose: - pywikibot.output(u"NOTE: %s is empty. Skipping." - % page.title(asLink=True, - forceInterwiki=True)) + pywikibot.output(u"NOTE: %s is empty. Skipping." % page) if page == self.originPage: for site, count in self.todo.siteCounts(): counter.minus(site, count) @@ -1358,8 +1317,7 @@ elif page.section(): if not globalvar.quiet or pywikibot.verbose: pywikibot.output(u"NOTE: %s is a page section. Skipping." - % page.title(asLink=True, - forceInterwiki=True)) + % page) continue
# Page exists, isnt a redirect, and is a plain link (no section) @@ -1376,7 +1334,7 @@ (skip, alternativePage) = self.disambigMismatch(page, counter) if skip: pywikibot.output(u"NOTE: ignoring %s and its interwiki links" - % page.title(asLink=True, forceInterwiki=True)) + % page) self.done.remove(page) iw = () if alternativePage: @@ -1404,21 +1362,14 @@
elif globalvar.autonomous and duplicate and not skip: pywikibot.output(u"Stopping work on %s because duplicate pages"\ - " %s and %s are found" % (self.originPage.title(asLink=True, - forceInterwiki=True), - duplicate.title(asLink=True, - forceInterwiki=True), - page.title(asLink=True, - forceInterwiki=True))) + " %s and %s are found" % (self.originPage, duplicate, page)) self.makeForcedStop(counter) try: f = codecs.open( pywikibot.config.datafilepath('autonomous_problems.dat'), 'a', 'utf-8') f.write(u"* %s {Found more than one link for %s}" - % (self.originPage.title(asLink=True, - forceInterwiki=True), - page.site())) + % (self.originPage, page.site())) if config.interwiki_graph and config.interwiki_graph_url: filename = interwiki_graph.getFilename(self.originPage, extension = config.interwiki_graph_formats[0]) f.write(u" [%s%s graph]" % (config.interwiki_graph_url, filename)) @@ -1432,12 +1383,10 @@ sys.exit() iw = () elif page.isEmpty() and not page.isCategory(): - globalvar.remove.append(page.title(asLink=True, - forceInterwiki=True)) + globalvar.remove.append(unicode(page)) if not globalvar.quiet or pywikibot.verbose: pywikibot.output(u"NOTE: %s is empty; ignoring it and its interwiki links" - % page.title(asLink=True, - forceInterwiki=True)) + % page) # Ignore the interwiki links self.done.remove(page) iw = () @@ -1446,11 +1395,7 @@ if globalvar.hintsareright: if linkedPage.site in self.hintedsites: pywikibot.output(u"NOTE: %s: %s extra interwiki on hinted site ignored %s" - % (self.originPage.title(asLink=True), - page.title(asLink=True, - forceInterwiki=True), - linkedPage.title(asLink=True, - forceInterwiki=True))) + % (self.originPage, page, linkedPage)) break if not self.skipPage(page, linkedPage, counter): if globalvar.followinterwiki or page == self.originPage: @@ -1463,21 +1408,14 @@ # Still, this could be "no problem" as either may be a # redirect to the other. No way to find out quickly! pywikibot.output(u"NOTE: %s: %s gives duplicate interwiki on same site %s" - % (self.originPage.title(asLink=True, - forceInterwiki=True), - page.title(asLink=True, - forceInterwiki=True), - linkedPage.title(asLink=True, - forceInterwiki=True))) + % (self.originPage, page, + linkedPage)) break else: if config.interwiki_shownew or pywikibot.verbose: pywikibot.output(u"%s: %s gives new interwiki %s" - % (self.originPage.title(asLink=True), - page.title(asLink=True, - forceInterwiki=True), - linkedPage.title(asLink=True, - forceInterwiki=True))) + % (self.originPage, + page, linkedPage)) if self.forcedStop: break # These pages are no longer 'in progress' @@ -1503,8 +1441,7 @@ if page2 is None: pywikibot.output(u" "*indent + "Given as a hint.") else: - pywikibot.output(u" "*indent + page2.title(asLink=True, - forceInterwiki=True)) + pywikibot.output(u" "*indent + unicode(page2))
def assemble(self): @@ -1522,9 +1459,7 @@ continue # inhibit the forwarding families pages to be updated. if site == self.originPage.site(): if page != self.originPage: - self.problem(u"Found link to %s" - % page.title(asLink=True, - forceInterwiki=True)) + self.problem(u"Found link to %s" % page) self.whereReport(page) errorCount += 1 else: @@ -1564,8 +1499,7 @@ for page2 in pages: i += 1 pywikibot.output(u" (%d) Found link to %s in:" - % (i, page2.title(asLink=True, - forceInterwiki=True))) + % (i, page2)) self.whereReport(page2, indent = 8) while True: #TODO: allow answer to repeat previous or go back after a mistake @@ -1593,9 +1527,7 @@ if not acceptall: pywikibot.output(u"=" * 30) page2 = pages[0] - pywikibot.output(u"Found link to %s in:" - % page2.title(asLink=True, - forceInterwiki=True)) + pywikibot.output(u"Found link to %s in:" % page2) self.whereReport(page2, indent = 4) while True: if acceptall: @@ -1654,8 +1586,7 @@ return if self.forcedStop: # autonomous with problem pywikibot.output(u"======Aborted processing %s======" - % self.originPage.title(asLink=True, - forceInterwiki=True)) + % self.originPage) return # The following check is not always correct and thus disabled. # self.done might contain no interwiki links because of the -neverlink @@ -1663,19 +1594,16 @@ # if len(self.done) == 1: # # No interwiki at all # return - pywikibot.output(u"======Post-processing %s======" - % self.originPage.title(asLink=True, - forceInterwiki=True)) + pywikibot.output(u"======Post-processing %s======" % self.originPage) # Assemble list of accepted interwiki links new = self.assemble() if new is None: # User said give up pywikibot.output(u"======Aborted processing %s======" - % self.originPage.title(asLink=True, - forceInterwiki=True)) + % self.originPage) return
# Make sure new contains every page link, including the page we are processing - # TODO: sould be move to assemble() + # TODO: should be move to assemble() # replaceLinks will skip the site it's working on. if self.originPage.site() not in new: if not self.originPage.site().family.interwiki_forward: #TODO: make this possible as well. @@ -1716,8 +1644,7 @@ old[page.site()] = page except pywikibot.NoPage: pywikibot.output(u"BUG>>> %s no longer exists?" - % new[site].title(asLink=True, - forceInterwiki=True)) + % new[site]) continue mods, mcomment, adding, removing, modifying \ = compareLanguages(old, new, insite = lclSite) @@ -1750,8 +1677,7 @@ old[mypage.site()] = mypage except pywikibot.NoPage: pywikibot.output(u"BUG>>> %s no longer exists?" - % new[site].title(asLink=True, - forceInterwiki=True)) + % new[site]) continue mods, mcomment, adding, removing, modifying \ = compareLanguages(old, new, insite=site) @@ -1774,7 +1700,8 @@ if diff > 30*24*60: smallWikiAllowed = True else: - pywikibot.output( u'NOTE: number of edits are restricted at %s' + pywikibot.output( +u'NOTE: number of edits are restricted at %s' % page.site().sitename())
# if we have an account for this site @@ -1828,24 +1755,21 @@ if globalvar.localonly: # In this case only continue on the Page we started with if page != self.originPage: - raise SaveError - if page.title() != page.sectionFreeTitle(): + raise SaveError(u'-localonly and page != originPage') + if page.section(): # This is not a page, but a subpage. Do not edit it. pywikibot.output(u"Not editing %s: not doing interwiki on subpages" - % page.title(asLink=True, forceInterwiki=True)) - raise SaveError + % page) + raise SaveError(u'Link has a #section') try: pagetext = page.get() except pywikibot.NoPage: - pywikibot.output(u"Not editing %s: page does not exist" - % page.title(asLink=True, forceInterwiki=True)) - raise SaveError + pywikibot.output(u"Not editing %s: page does not exist" % page) + raise SaveError(u'Page doesn't exist') if page.isEmpty() and not page.isCategory(): - pywikibot.output(u"Not editing %s: page is empty" - % page.title(asLink=True, forceInterwiki=True)) + pywikibot.output(u"Not editing %s: page is empty" % page) raise SaveError
- # clone original newPages dictionary, so that we can modify it to the # local page's needs new = dict(newPages) @@ -1863,14 +1787,14 @@ if (ignorepage not in interwikis): pywikibot.output( u"Ignoring link to %(to)s for %(from)s" - % {'to': ignorepage.title(asLink=True), - 'from': page.title(asLink=True)}) + % {'to': ignorepage, + 'from': page}) new.pop(ignorepage.site()) else: pywikibot.output( u"NOTE: Not removing interwiki from %(from)s to %(to)s (exists both commented and non-commented)" - % {'to': ignorepage.title(asLink=True), - 'from': page.title(asLink=True)}) + % {'to': ignorepage, + 'from': page}) except KeyError: pass
@@ -1879,12 +1803,11 @@ pltmp = new[page.site()] if pltmp != page: s = u"None" - if pltmp is not None: s = pltmp.title(asLink=True, - forceInterwiki=True) + if pltmp is not None: s = pltmp pywikibot.output( u"BUG>>> %s is not in the list of new links! Found %s." - % (page.title(asLink=True, forceInterwiki=True), s)) - raise SaveError + % (page, s)) + raise SaveError(u'BUG: sanity check failed')
# Avoid adding an iw link back to itself del new[page.site()] @@ -1919,28 +1842,25 @@ #put it to new means don't delete it if not globalvar.cleanup and not globalvar.force or \ globalvar.cleanup and \ - rmPage.title(asLink=True, - forceInterwiki=True) not in globalvar.remove or \ + unicode(rmPage) not in globalvar.remove or \ rmPage.site().lang in ['hak', 'hi', 'cdo'] and \ pywikibot.unicode_error: #work-arround for bug #3081100 (do not remove hi-pages) new[rmsite] = rmPage pywikibot.output( u"WARNING: %s is either deleted or has a mismatching disambiguation state." - % rmPage.title(asLink=True, forceInterwiki=True)) + % rmPage) # Re-Check what needs to get done mods, mcomment, adding, removing, modifying = compareLanguages(old, new, insite=page.site()) if not mods: if not globalvar.quiet or pywikibot.verbose: - pywikibot.output(u'No changes needed on page %s' - % page.title(asLink=True, forceInterwiki=True)) + pywikibot.output(u'No changes needed on page %s' % page) return False
# Show a message in purple. pywikibot.output( - u"\03{lightpurple}Updating links on page %s.\03{default}" - % page.title(asLink=True, forceInterwiki=True)) + u"\03{lightpurple}Updating links on page %s.\03{default}" % page) pywikibot.output(u"Changes to be made: %s" % mods) oldtext = page.get() template = (page.namespace() == 10) @@ -1953,25 +1873,24 @@ if template: pywikibot.output( u'SKIPPING: %s should have interwiki links on subpage.' - % page.title(asLink=True, forceInterwiki=True)) + % page) else: pywikibot.output( u'SKIPPING: %s is under construction or to be deleted.' - % page.title(asLink=True, forceInterwiki=True)) + % page) return False if newtext == oldtext: return False pywikibot.showDiff(oldtext, newtext)
- # pywikibot.output(u"NOTE: Replace %s" % page.title(asLink=True)) + # pywikibot.output(u"NOTE: Replace %s" % page) # Determine whether we need permission to submit ask = False
# Allow for special case of a self-pointing interwiki link if removing and removing != [page.site()]: self.problem(u'Found incorrect link to %s in %s' - % (", ".join([x.lang for x in removing]), - page.title(asLink=True, forceInterwiki=True)), + % (", ".join([x.lang for x in removing]), page), createneed=False) if pywikibot.unicode_error: for x in removing: @@ -2032,22 +1951,20 @@ else: status, reason, data = page.put(newtext, comment=mcomment) except pywikibot.LockedPage: - pywikibot.output(u'Page %s is locked. Skipping.' - % page.title(asLink=True, - forceInterwiki=True)) - raise SaveError + pywikibot.output(u'Page %s is locked. Skipping.' % page) + raise SaveError(u'Locked') except pywikibot.EditConflict: pywikibot.output( u'ERROR putting page: An edit conflict occurred. Giving up.') - raise SaveError + raise SaveError(u'Edit conflict') except (pywikibot.SpamfilterError), error: pywikibot.output( u'ERROR putting page: %s blacklisted by spamfilter. Giving up.' % (error.url,)) - raise SaveError + raise SaveError(u'Spam filter') except (pywikibot.PageNotSaved), error: pywikibot.output(u'ERROR putting page: %s' % (error.args,)) - raise SaveError + raise SaveError(u'PageNotSaved') except (socket.error, IOError), error: if timeout>3600: raise @@ -2072,12 +1989,11 @@ pywikibot.output(u'%s %s' % (status, reason)) return False elif answer == 'g': - raise GiveUpOnPage + raise GiveUpOnPage(u'User asked us to give up') else: raise LinkMustBeRemoved(u'Found incorrect link to %s in %s' % (", ".join([x.lang for x in removing]), - page.title(asLink=True, - forceInterwiki=True))) + page))
def reportBacklinks(self, new, updatedSites): """ @@ -2097,7 +2013,7 @@ try: linkedPages = set(page.interwiki()) except pywikibot.NoPage: - pywikibot.output(u"WARNING: Page %s does no longer exist?!" % page.title()) + pywikibot.output(u"WARNING: Page %s does no longer exist?!" % page) break # To speed things up, create a dictionary which maps sites to pages. # This assumes that there is only one interwiki link per language. @@ -2108,33 +2024,25 @@ if expectedPage != page: try: linkedPage = linkedPagesDict[expectedPage.site()] - pywikibot.output(u"WARNING: %s: %s does not link to %s but to %s" - % (page.site().family.name, - page.title(asLink=True, - forceInterwiki=True), - expectedPage.title(asLink=True, - forceInterwiki=True), - linkedPage.title(asLink=True, - forceInterwiki=True))) + pywikibot.output( + u"WARNING: %s: %s does not link to %s but to %s" + % (page.site().family.name, + page, expectedPage, linkedPage)) except KeyError: - pywikibot.output(u"WARNING: %s: %s does not link to %s" - % (page.site().family.name, - page.title(asLink=True, - forceInterwiki=True), - expectedPage.title(asLink=True, - forceInterwiki=True))) + pywikibot.output( + u"WARNING: %s: %s does not link to %s" + % (page.site().family.name, + page, expectedPage)) # Check for superfluous links for linkedPage in linkedPages: if linkedPage not in expectedPages: # Check whether there is an alternative page on that language. # In this case, it was already reported above. if linkedPage.site() not in expectedSites: - pywikibot.output(u"WARNING: %s: %s links to incorrect %s" - % (page.site().family.name, - page.title(asLink=True, - forceInterwiki=True), - linkedPage.title(asLink=True, - forceInterwiki=True))) + pywikibot.output( + u"WARNING: %s: %s links to incorrect %s" + % (page.site().family.name, + page, linkedPage)) except (socket.error, IOError): pywikibot.output(u'ERROR: could not report backlinks')
@@ -2191,8 +2099,7 @@ fs = self.firstSubject() if fs and (not globalvar.quiet or pywikibot.verbose): pywikibot.output(u"NOTE: The first unfinished subject is %s" - % fs.originPage.title(asLink=True, - forceInterwiki=True)) + % fs.originPage) pywikibot.output(u"NOTE: Number of pages queued is %d, trying to add %d more." % (len(self.subjects), number)) for i in range(number): @@ -2204,19 +2111,19 @@ pywikibot.output(u'IOError occured; skipping') continue if page in globalvar.skip: - pywikibot.output(u'Skipping: %s is in the skip list' % page.title()) + pywikibot.output(u'Skipping: %s is in the skip list' % page) continue if globalvar.skipauto: dictName, year = page.autoFormat() if dictName is not None: - pywikibot.output(u'Skipping: %s is an auto entry %s(%s)' % (page.title(),dictName,year)) + pywikibot.output(u'Skipping: %s is an auto entry %s(%s)' % (page, dictName, year)) continue if globalvar.parenthesesonly: # Only yield pages that have ( ) in titles if "(" not in page.title(): continue if page.isTalkPage(): - pywikibot.output(u'Skipping: %s is a talk page' % page.title()) + pywikibot.output(u'Skipping: %s is a talk page' % page) continue #doesn't work: page must be preloaded for this test #if page.isEmpty(): @@ -2229,7 +2136,7 @@ del tmpl except KeyError: pass - if loc != None and loc in page.title(): + if loc is not None and loc in page.title(): pywikibot.output(u'Skipping: %s is a templates subpage' % page.title()) continue break @@ -2395,7 +2302,7 @@ if not globalvar.summary and \ len(adding) + len(removing) + len(modifying) <= 3: # Use an extended format for the string linking to all added pages. - fmt = lambda d, site: d[site].title(asLink=True, forceInterwiki=True) + fmt = lambda d, site: unicode(d[site]) else: # Use short format, just the language code fmt = lambda d, site: site.lang