Revision: 6429
Author: russblau
Date: 2009-02-23 14:50:57 +0000 (Mon, 23 Feb 2009)
Log Message:
-----------
fix bug 2630322, also add some comments
Modified Paths:
--------------
branches/rewrite/pywikibot/bot.py
Modified: branches/rewrite/pywikibot/bot.py
===================================================================
--- branches/rewrite/pywikibot/bot.py 2009-02-23 11:01:43 UTC (rev 6428)
+++ branches/rewrite/pywikibot/bot.py 2009-02-23 14:50:57 UTC (rev 6429)
@@ -15,12 +15,10 @@
import logging, logging.handlers
+ # all output goes thru python std library "logging" module
import os.path
import sys
-import pywikibot
-from pywikibot import config
-
# logging levels
logger = logging.getLogger("bot")
@@ -29,7 +27,10 @@
VERBOSE = 18
INPUT = 25
+import pywikibot
+from pywikibot import config
+
class MaxLevelFilter(logging.Filter):
"""Filter that only passes records at or below a specific level.
@@ -134,20 +135,20 @@
"""
# make sure logging system has been initialized
- root = pywikibot.logging.getLogger()
+ root = logging.getLogger()
if root.level == 30: # init_handlers sets this level
init_handlers()
if decoder:
text = unicode(text, decoder)
- elif type(text) is not unicode:
+ elif not isinstance(text, unicode):
## import traceback
## pywikibot.output(
## u"Non-unicode (%s) passed to wikipedia.output without
decoder!\n"
## % type(text),
## level=VERBOSE
## )
- if type(text) is not str:
+ if not isinstance(text, str):
# looks like text is a non-text object.
# Maybe it has a __unicode__ builtin ?
# (allows to print Page, Site...)
@@ -175,6 +176,11 @@
Returns a unicode string.
"""
+ # make sure logging system has been initialized
+ root = logging.getLogger()
+ if root.level == 30: # init_handlers sets this level
+ init_handlers()
+
data = ui.input(question, password)
return data
@@ -196,6 +202,11 @@
Returns a one-letter string in lowercase.
"""
+ # make sure logging system has been initialized
+ root = logging.getLogger()
+ if root.level == 30: # init_handlers sets this level
+ init_handlers()
+
data = ui.inputChoice(question, answers, hotkeys, default).lower()
return data
Show replies by date