Revision: 7127
Author: alexsh
Date: 2009-08-07 13:33:41 +0000 (Fri, 07 Aug 2009)
Log Message:
-----------
* Site().solveCaptcha(): Fix dict key wrong for error code.
* Site()._getUserData() API mode:Fix get anonymous key normally, base on
ordinary mode.
Modified Paths:
--------------
trunk/pywikipedia/wikipedia.py
Modified: trunk/pywikipedia/wikipedia.py
===================================================================
--- trunk/pywikipedia/wikipedia.py 2009-08-07 09:34:48 UTC (rev 7126)
+++ trunk/pywikipedia/wikipedia.py 2009-08-07 13:33:41 UTC (rev 7127)
@@ -4490,6 +4490,7 @@
"""Log the user in if not already logged in."""
if not self.loggedInAs(sysop = sysop):
loginMan = login.LoginManager(site = self, sysop = sysop)
+ #loginMan.logout()
if loginMan.login(retry = True):
index = self._userIndex(sysop)
self._isLoggedIn[index] = True
@@ -4623,9 +4624,9 @@
def solveCaptcha(self, data):
if type(data) == dict: # API Mode result
- if data['result'].has_key("captcha"):
- captype = data['result']['captcha']['type']
- id = data['result']['captcha']['id']
+ if data.has_key("captcha"):
+ captype = data['captcha']['type']
+ id = data['captcha']['id']
if captype in ['simple', 'math', 'question']:
answer = input('What is the answer to the captcha "%s" ?'
% data['result']['captcha']['question'])
elif captype == 'image':
@@ -4969,15 +4970,14 @@
self._rights[index] = list(set(self._rights[index]))
# Get token
- if text.has_key('preferencestoken') and
len(text['preferencestoken']) > 2:
- # anonymous token is '+\\', check len('+\\') = 2
- # if preferencestoken > 2, it must be loggedin.
+ if text.has_key('preferencestoken'):
self._token[index] = text['preferencestoken']
if self._rights[index] is not None:
# Token and rights are loaded - user data is now loaded
self._userData[index] = True
else:
- output(u'WARNING: Token not found on %s. You will not be able
to edit any page.' % self)
+ if not self._isBlocked[index]:
+ output(u'WARNING: Token not found on %s. You will not be
able to edit any page.' % self)
else:
#ordinary mode to get data from edit page HTMLs and JavaScripts
@@ -5209,6 +5209,7 @@
def has_mediawiki_message(self, key):
"""Return True iff this site defines a MediaWiki message for 'key'."""
+ #return self._mediawiki_messages.has_key(key)
try:
v = self.mediawiki_message(key)
return True
_______________________________________________
Pywikipedia-svn mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/pywikipedia-svn