Revision: 4871 Author: rotem Date: 2008-01-13 17:28:48 +0000 (Sun, 13 Jan 2008)
Log Message: ----------- Rewriting the args handling code in fixing_redirects.py, moving the getSite call after it to fix bug 1868654.
Modified Paths: -------------- trunk/pywikipedia/fixing_redirects.py
Modified: trunk/pywikipedia/fixing_redirects.py =================================================================== --- trunk/pywikipedia/fixing_redirects.py 2008-01-13 17:14:31 UTC (rev 4870) +++ trunk/pywikipedia/fixing_redirects.py 2008-01-13 17:28:48 UTC (rev 4871) @@ -133,12 +133,10 @@ page.put(text, comment)
try: - gen = None - action = None start = '!' - namspace2 = 0 - mysite = wikipedia.getSite() - linktrail = mysite.linktrail() + featured = False + title = None + namespace = None
for arg in wikipedia.handleArgs(): if arg.startswith('-start'): @@ -147,34 +145,36 @@ else: start = arg[7:] elif arg == '-featured': - action = True - featured = wikipedia.translate(mysite, featured_articles) - ref = wikipedia.Page(wikipedia.getSite(), featured) - gen = pagegenerators.ReferringPageGenerator(ref) - generator = pagegenerators.NamespaceFilterPageGenerator(gen, [0]) - for page in generator: - workon(page) + featured = True elif arg.startswith('-page'): - action = True if len(arg) == 5: title = wikipedia.input(u'Which page should be processed?') else: title = arg[6:] - page = wikipedia.Page(wikipedia.getSite(), title) - workon(page) elif arg.startswith('-namespace'): - action = True if len(arg) == 10: - namespace2 = int(wikipedia.input(u'Which namespace should be processed?')) + namespace = int(wikipedia.input(u'Which namespace should be processed?')) else: - namespace2 =int( arg[11:]) - for page in pagegenerators.AllpagesPageGenerator(start=start, namespace=namespace2, includeredirects=False): - workon(page) - + namespace = int(arg[11:])
- if not action: + mysite = wikipedia.getSite() + linktrail = mysite.linktrail() + if featured: + featuredList = wikipedia.translate(mysite, featured_articles) + ref = wikipedia.Page(wikipedia.getSite(), featuredList) + gen = pagegenerators.ReferringPageGenerator(ref) + generator = pagegenerators.NamespaceFilterPageGenerator(gen, [0]) + for page in generator: + workon(page) + elif title is not None: + page = wikipedia.Page(wikipedia.getSite(), title) + workon(page) + elif namespace is not None: + for page in pagegenerators.AllpagesPageGenerator(start=start, namespace=namespace, includeredirects=False): + workon(page) + else: wikipedia.showHelp('fixing_redirects') sys.exit() - + finally: wikipedia.stopme()