Hello,
On 6 August 2011 18:55, Dr. Trigon <dr.trigon(a)surfeu.ch> wrote:
2011/08/06 04:45:45:: !!! Permissions:
[[u'move', u'autoreview',
u'move-rootuserpages', u'createtalk', u'minoredit',
u'movestable',
u'skipcaptcha', u'nominornewtalk', u'noratelimit', u'*',
u'collectionsaveasuserpage', u'abusefilter-view',
u'abusefilter-log-detail', u'createpage', u'writeapi',
u'createaccount',
u'centralauth-merge', u'read', u'autopatrol',
u'abusefilter-log',
u'suppressredirect', u'user', u'collectionsaveascommunitypage',
u'reupload-own', u'apihighlimits', u'autoconfirmed',
u'edit',
u'sendemail', u'bot', u'upload', u'purge',
u'reupload'], None]
2011/08/06 04:45:45:: Email sent.
and here the second run:
2011/08/06 18:28:37:: !!! Permissions: [['user', 'bot',
'autoconfirmed',
'read', 'createaccount', 'edit', 'upload',
'createpage', 'createtalk',
'move', 'upload', 'apihighlimits'], None]
First of all, sorry for the slow response. I haven't had time to look into
this (and I still haven't). From the top of my head, the following (hoping
someone else will be able to further assist):
I *think* the list " [['user', 'bot',
'autoconfirmed','read',
'createaccount', 'edit', 'upload', 'createpage',
'createtalk','move',
'upload', 'apihighlimits'], None] " is somewhere in the bot code
(wikipedia.py:5691 and further) to take as 'default' when no response (or a
bogus response) is returned from the server. If not, the server might
*actually* be responding with that data, in which case the server is at
fault.
If it *is* the default list, I think this should be fixed. It does not make
much sense to me to apply a selective default list if no response is
returned -- either retry or assume we can do anything. Then again, the
latter means the bot would crash when trying to lock without lock rights.
In essence: this needs some thought.
For your problem: try calling Site.getToken(getagain=True) when you get the
exception, and retry. (this calls self._load(force=True) and throug there
_getUserDataOld(force=True). It's hackish, but the best I can come up with
for the moment.
Best,
Merlijn