Revision: 4382
Author: btongminh
Date: 2007-09-29 10:49:55 +0000 (Sat, 29 Sep 2007)
Log Message:
-----------
Proper exception handling, threadsafety, forceLogin
Modified Paths:
--------------
trunk/pywikipedia/image_replacer.py
Modified: trunk/pywikipedia/image_replacer.py
===================================================================
--- trunk/pywikipedia/image_replacer.py 2007-09-29 10:43:01 UTC (rev 4381)
+++ trunk/pywikipedia/image_replacer.py 2007-09-29 10:49:55 UTC (rev 4382)
@@ -47,6 +47,7 @@
for i in self.config.get('disallowed_replacements', ())]
self.site = wikipedia.getSite(persistent_http = True)
+ self.site.forceLogin()
self.database = connect_database()
self.cursor = self.database.cursor()
@@ -197,7 +198,8 @@
class Reporter(threadpool.Thread):
def __init__(self, pool, site, config):
- self.site = site
+ self.site = wikipedia.Site(site.lang, site.family,
+ site.user, True)
self.config = config
threadpool.Thread.__init__(self, pool)
@@ -259,13 +261,15 @@
output(u'Running ' + __version__)
try:
- # FIXME: Add support for single-process replacer.
- r = Replacer()
- output(u'This bot runs from: ' + str(r.site))
- r.start()
- except Exception, e:
- if type(e) not in (SystemExit, KeyboardInterrupt):
- output('A critical error has occured! Aborting!')
- traceback.print_exc(file = sys.stderr)
- r.reporters.exit()
- wikipedia.stopme()
\ No newline at end of file
+ try:
+ # FIXME: Add support for single-process replacer.
+ r = Replacer()
+ output(u'This bot runs from: ' + str(r.site))
+ r.start()
+ except Exception, e:
+ if type(e) not in (SystemExit, KeyboardInterrupt):
+ output('A critical error has occured! Aborting!')
+ traceback.print_exc(file = sys.stderr)
+ finally:
+ r.reporters.exit()
+ wikipedia.stopme()
\ No newline at end of file
Show replies by date