Revision: 5745 Author: nicdumz Date: 2008-07-21 11:39:00 +0000 (Mon, 21 Jul 2008)
Log Message: ----------- * Implementing a TODO * Minor code cleanups
Modified Paths: -------------- trunk/pywikipedia/interwiki.py
Modified: trunk/pywikipedia/interwiki.py =================================================================== --- trunk/pywikipedia/interwiki.py 2008-07-21 10:45:27 UTC (rev 5744) +++ trunk/pywikipedia/interwiki.py 2008-07-21 11:39:00 UTC (rev 5745) @@ -546,8 +546,13 @@
def openSites(self): """Return a list of sites for all things we still need to do""" - return [page.site() for page in self.todo] # TODO: remove duplicates + distinctSites = {}
+ for page in self.todo: + site = page.site() + distinctSites[site] = site + return distinctSites.values() + def willWorkOn(self, site): """ By calling this method, you 'promise' this instance that you will @@ -557,7 +562,7 @@ # Bug-check: Isn't there any work still in progress? We can't work on # different sites at a time! if self.pending != []: - raise 'BUG: Can't start to work on %s; still working on %s' % (repr(site), self.pending) + raise 'BUG: Can't start to work on %s; still working on %s' % (site, self.pending) # Prepare a list of suitable pages for page in self.todo: if page.site() == site: @@ -741,8 +746,6 @@
# Register this fact at the todo-counter. counter.minus(page.site()) - # Assume it's not a redirect - isRedirect = False # Now check whether any interwiki links should be added to the # todo list. if page.section() and not page.isRedirectPage(): @@ -759,7 +762,6 @@ self.originPage = redirectTargetPage self.pending.append(redirectTargetPage) counter.plus(redirectTargetPage.site) - pass else: # This is a redirect page to the origin. We don't need to # follow the redirection. @@ -767,7 +769,6 @@ for page2 in self.todo: counter.minus(page2.site()) self.todo = [] - pass elif not globalvar.followredirect: wikipedia.output(u"NOTE: not following redirects.") else:
pywikipedia-l@lists.wikimedia.org