Revision: 4810 Author: rotem Date: 2008-01-05 12:57:29 +0000 (Sat, 05 Jan 2008)
Log Message: ----------- Creating a new exception, NoSuchSite, for 'Wiki does not exist' places, and using it in the appropriate places.
Modified Paths: -------------- trunk/pywikipedia/testfamily.py trunk/pywikipedia/wikipedia.py
Modified: trunk/pywikipedia/testfamily.py =================================================================== --- trunk/pywikipedia/testfamily.py 2008-01-05 12:46:18 UTC (rev 4809) +++ trunk/pywikipedia/testfamily.py 2008-01-05 12:57:29 UTC (rev 4810) @@ -39,6 +39,8 @@ wikipedia.getall(site, [wikipedia.Page(site, 'Any page name')]) except KeyboardInterrupt: raise + except wikipedia.NoSuchSite: + pass except: wikipedia.output( u'Error processing language %s' % site.lang ) wikipedia.output( u''.join(traceback.format_exception(*sys.exc_info())))
Modified: trunk/pywikipedia/wikipedia.py =================================================================== --- trunk/pywikipedia/wikipedia.py 2008-01-05 12:46:18 UTC (rev 4809) +++ trunk/pywikipedia/wikipedia.py 2008-01-05 12:57:29 UTC (rev 4810) @@ -17,6 +17,7 @@ Error: Base class for all exceptions in this module NoUsername: Username is not in user-config.py NoPage: Page does not exist on the wiki + NoSuchSite: Site does not exist IsRedirectPage: Page is a redirect page IsNotRedirectPage: Page is not a redirect page LockedPage: Page is locked @@ -155,6 +156,9 @@ class NoPage(Error): """Page does not exist"""
+class NoSuchSite(Error): + """Site does not exist""" + class IsRedirectPage(Error): """Page is a redirect page"""
@@ -649,7 +653,7 @@ # may encounter pages from non-existing wikis such as # http://eo.wikisource.org/ if text.find("<title>Wiki does not exist</title>") != -1: - raise NoPage(u'Wiki %s does not exist yet' % self.site()) + raise NoSuchSite(u'Wiki %s does not exist yet' % self.site())
#Check for new messages if '<div class="usermessage">' in text: @@ -2412,7 +2416,7 @@ # may encounter pages from non-existing wikis such as # http://eo.wikisource.org/ if data.find("<title>Wiki does not exist</title>") != -1: - return + raise NoSuchSite(u'Wiki %s does not exist yet' % self) elif data.find("<siteinfo>") == -1: # This probably means we got a 'temporary unaivalable' output(u'Got incorrect export page. Sleeping for %d seconds...' % dt) time.sleep(dt)
pywikipedia-l@lists.wikimedia.org