On 6 August 2011 18:55, Dr. Trigon
<dr.trigon@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