Page MenuHomePhabricator

Attempt to login fails several times
Closed, ResolvedPublicBUG REPORT

Assigned To
Authored By
Xqt
May 31 2019, 7:16 AM
Referenced Files
F31720367: image.png
Apr 1 2020, 4:32 PM
F31720353: 91965594_587094738682996_8496885018885357568_n.png
Apr 1 2020, 4:32 PM
F31720413: 91397901_258223111986045_9210747779352100864_n.png
Apr 1 2020, 4:32 PM
F31719990: image.png
Apr 1 2020, 2:31 PM
F31720062: image.png
Apr 1 2020, 2:31 PM
F31720070: image.png
Apr 1 2020, 2:31 PM
F31719968: image.png
Apr 1 2020, 2:31 PM
F31719972: image.png
Apr 1 2020, 2:31 PM

Description

Attempt to re-login fails several times until a timeout occures after a long time.

https://travis-ci.org/wikimedia/pywikibot/jobs/539526315

Related Objects

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

Beta Cluster is fixed, but still fails for zh.wikisource.org, see:

Can't reproduce (with non-Pywikibot code), login to zh.wikisource.org works fine for me. If you still think it's a problem in MediaWiki or Wikimedia's infrastructure, you should supply the HTTP requests and responses to verify that cookies and such are being handled correctly.

It happens only sometimes, which is weird, I'll investigate it further

Beta Cluster is fixed, but still fails for zh.wikisource.org, see:

Can't reproduce (with non-Pywikibot code), login to zh.wikisource.org works fine for me. If you still think it's a problem in MediaWiki or Wikimedia's infrastructure, you should supply the HTTP requests and responses to verify that cookies and such are being handled correctly.

@Anomie @Jdforrester-WMF I broke Pywikibot login loop and found out the issue with zh.wikisource.org. It seems API sometimes reacts weirdly to action=login requests. For format=json&lgname=Pywikibot-test&action=login&maxlag=5&lgpassword=[secure]&lgtoken=77c559a0bf34eaf6755aaebca7a56ba25e5693bf+\ API responds with API warning (login): Fetching a token via "action=login" is deprecated. Use "action=query&meta=tokens&type=login" instead. and the result contains NeedToken and a token, which gives invalid if checked by checktoken. See the log of my test (full log, test code):

WARNING: ###############################################################################

WARNING: /w/api.php?format=json&lgname=Pywikibot-test&action=login&maxlag=5&lgpassword=[secure]&lgtoken=77c559a0bf34eaf6755aaebca7a56ba25e5693bf+\

WARNING: API warning (login): Fetching a token via "action=login" is deprecated. Use "action=query&meta=tokens&type=login" instead.

WARNING: API warning (main): Subscribe to the mediawiki-api-announce mailing list at <https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce> for notice of API deprecations and breaking changes. Use [[Special:ApiFeatureUsage]] to see usage of deprecated features by your application.

WARNING: {'login': {'token': 'ce9ea250edb885d68e5a7cf11f90d64e5e5693bf+\\', 'result': 'NeedToken'}, 'warnings': {'login': {'*': 'Fetching a token via "action=login" is deprecated. Use "action=query&meta=tokens&type=login" instead.'}, 'main': {'*': 'Subscribe to the mediawiki-api-announce mailing list at <https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce> for notice of API deprecations and breaking changes. Use [[Special:ApiFeatureUsage]] to see usage of deprecated features by your application.'}}}

WARNING: ce9ea250edb885d68e5a7cf11f90d64e5e5693bf+\

WARNING: invalid

There are two weird things: Why doesn't API accept lgtoken in the first request (token is freshly generated) and why NeedToken gives invalid tokens afterwards (which results with a login loop)?

Anyway, for Pywikibot the fix is easy. Don't trust NeedToken token and simply generate a new one the usual way (@Xqt)

After some other tests:
zh.wikisource.org API sometimes generates invalid new token (using action=query&meta=tokens). This token gives login response of NeedToken with another invalid token generated. This token gives login response of NeedToken with yet another invalid token generated. And so on...
After a couple of attempts I successfully reproduced it also using zh:ws API sandbox

Change 575038 had a related patch set uploaded (by Dvorapa; owner: Dvorapa):
[pywikibot/core@master] [IMPR] Don't trust token from NeedToken response

https://gerrit.wikimedia.org/r/575038

@Anomie @Jdforrester-WMF I broke Pywikibot login loop and found out the issue with zh.wikisource.org. It seems API sometimes reacts weirdly to action=login requests. For format=json&lgname=Pywikibot-test&action=login&maxlag=5&lgpassword=[secure]&lgtoken=77c559a0bf34eaf6755aaebca7a56ba25e5693bf+\ API responds with API warning (login): Fetching a token via "action=login" is deprecated. Use "action=query&meta=tokens&type=login" instead. and the result contains NeedToken and a token, which gives invalid if checked by checktoken.
[...]
There are two weird things: Why doesn't API accept lgtoken in the first request (token is freshly generated) and why NeedToken gives invalid tokens afterwards (which results with a login loop)?

Yes, that was fairly obvious as to what was happening from https://travis-ci.org/wikimedia/pywikibot/jobs/654150636, as it already logged that warning. That's caused by the session being lost on every new request.

There are, broadly, three ways the session might be lost:

  1. Something in MediaWiki's session handling is broken, as was the case for en.wikisource.beta.wmflabs.org earlier.
  2. Something in your client (probably cookie handling) is broken. This can include the client somehow having a stale/corrupt cookie that isn't removed by MediaWiki's attempts to unset it.
  3. Some proxy in between your client and MediaWiki is breaking the request somehow.

My being unable to reproduce it in locally (several times now over a few days) makes #1 seem less likely, as does the fact that there's no "Unbreak Now!" task open about this affecting human users. But that doesn't completely rule it out.

Being able to examine the actual HTTP request and response headers for all requests during the failed login would go a long way towards investigating #2, which is why I asked for that. Unfortunately the log you provided does not seem to contain that information.

Weird is this happens only for zh.wikisource, not for enwiki, not for wikidata, commons, testwiki, testwikidata, arwiktionary and not for Beta Cluster.

I am not sure, how to get the whole HTTP request with headers.

Also this happens sometimes for lgtoken, sometimes for username and sometimes for password, another weird thing

Change 575038 merged by jenkins-bot:
[pywikibot/core@master] [IMPR] Don't trust token from NeedToken response

https://gerrit.wikimedia.org/r/575038

The patch just partially workarounds one loop. But does not resolve anything

Change 584017 had a related patch set uploaded (by Dvorapa; owner: Dvorapa):
[pywikibot/core@master] [bugfix] Resolve action=login deprecation warning

https://gerrit.wikimedia.org/r/584017

Change 584017 merged by jenkins-bot:
[pywikibot/core@master] [bugfix] Resolve action=login deprecation warning

https://gerrit.wikimedia.org/r/584017

Change 584091 had a related patch set uploaded (by Dvorapa; owner: Dvorapa):
[pywikibot/core@master] [test] Enable some sort of APIError logging

https://gerrit.wikimedia.org/r/584091

Change 584091 abandoned by Dvorapa:
[test] Enable some sort of APIError logging

Reason:
No longer relevant

https://gerrit.wikimedia.org/r/584091

Change 584195 had a related patch set uploaded (by Dvorapa; owner: Dvorapa):
[pywikibot/core@master] [bugfix] Fix handling of badtoken response for login actions

https://gerrit.wikimedia.org/r/584195

Change 584195 merged by jenkins-bot:
[pywikibot/core@master] [bugfix] Fix handling of badtoken response for login actions

https://gerrit.wikimedia.org/r/584195

Change 583711 had a related patch set uploaded (by Dvorapa; owner: Dvorapa):
[pywikibot/core@master] [IMPR] Don't trust token from NeedToken response

https://gerrit.wikimedia.org/r/583711

@Urbanecm @Xqt

Finally we can see so far hidden login loops as we track new throttle responses from API (https://gerrit.wikimedia.org/r/#/c/pywikibot/core/+/584017/). MW sends them after 5 login attempts and requires to wait 5 minutes.

As our single test timeout is set to 5 minutes, we can now see the full traceback with loops inbetween instead of not descriptive endless loop. Hurray! But still we are half way through fixing the issues, see subtasks I created from what I debugged so far.

https://travis-ci.org/github/wikimedia/pywikibot/jobs/668338196#L13175

1======================================================================
2
3ERROR: test_purge (tests.page_tests.TestPageUserAction)
4
5Test purging the mainpage.
6
7----------------------------------------------------------------------
8
9Traceback (most recent call last):
10
11 File "/home/travis/build/wikimedia/pywikibot/tests/page_tests.py", line 1004, in test_purge
12
13 mainpage.purge(forcelinkupdate=None))
14
15 File "/home/travis/build/wikimedia/pywikibot/pywikibot/page/__init__.py", line 1441, in purge
16
17 return self.site.purgepages([self], **kwargs)
18
19 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 1340, in callee
20
21 return fn(self, *args, **kwargs)
22
23 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 6217, in purgepages
24
25 result = req.submit()
26
27 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
28
29 if not self._logged_in(code):
30
31 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
32
33 self.site._relogin()
34
35 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
36
37 self.login()
38
39 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
40
41 return obj(*__args, **__kw)
42
43 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
44
45 if login_manager.login(retry=True, autocreate=autocreate):
46
47 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
48
49 cookiedata = self.getCookie()
50
51 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
52
53 return obj(*new_args, **new_kwargs)
54
55 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
56
57 login_result = login_request.submit()
58
59 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
60
61 if not self._logged_in(code):
62
63 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
64
65 self.site._relogin()
66
67 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
68
69 self.login()
70
71 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
72
73 return obj(*__args, **__kw)
74
75 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
76
77 if login_manager.login(retry=True, autocreate=autocreate):
78
79 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
80
81 cookiedata = self.getCookie()
82
83 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
84
85 return obj(*new_args, **new_kwargs)
86
87 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
88
89 login_result = login_request.submit()
90
91 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
92
93 if not self._logged_in(code):
94
95 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
96
97 self.site._relogin()
98
99 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
100
101 self.login()
102
103 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
104
105 return obj(*__args, **__kw)
106
107 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
108
109 if login_manager.login(retry=True, autocreate=autocreate):
110
111 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
112
113 cookiedata = self.getCookie()
114
115 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
116
117 return obj(*new_args, **new_kwargs)
118
119 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
120
121 login_result = login_request.submit()
122
123 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
124
125 if not self._logged_in(code):
126
127 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
128
129 self.site._relogin()
130
131 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
132
133 self.login()
134
135 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
136
137 return obj(*__args, **__kw)
138
139 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
140
141 if login_manager.login(retry=True, autocreate=autocreate):
142
143 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
144
145 cookiedata = self.getCookie()
146
147 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
148
149 return obj(*new_args, **new_kwargs)
150
151 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
152
153 login_result = login_request.submit()
154
155 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
156
157 if not self._logged_in(code):
158
159 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
160
161 self.site._relogin()
162
163 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
164
165 self.login()
166
167 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
168
169 return obj(*__args, **__kw)
170
171 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
172
173 if login_manager.login(retry=True, autocreate=autocreate):
174
175 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
176
177 cookiedata = self.getCookie()
178
179 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
180
181 return obj(*new_args, **new_kwargs)
182
183 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
184
185 login_result = login_request.submit()
186
187 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
188
189 if not self._logged_in(code):
190
191 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
192
193 self.site._relogin()
194
195 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
196
197 self.login()
198
199 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
200
201 return obj(*__args, **__kw)
202
203 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
204
205 if login_manager.login(retry=True, autocreate=autocreate):
206
207 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
208
209 cookiedata = self.getCookie()
210
211 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
212
213 return obj(*new_args, **new_kwargs)
214
215 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
216
217 login_result = login_request.submit()
218
219 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
220
221 if not self._logged_in(code):
222
223 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
224
225 self.site._relogin()
226
227 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
228
229 self.login()
230
231 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
232
233 return obj(*__args, **__kw)
234
235 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
236
237 if login_manager.login(retry=True, autocreate=autocreate):
238
239 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
240
241 cookiedata = self.getCookie()
242
243 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
244
245 return obj(*new_args, **new_kwargs)
246
247 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
248
249 login_result = login_request.submit()
250
251 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
252
253 if not self._logged_in(code):
254
255 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
256
257 self.site._relogin()
258
259 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
260
261 self.login()
262
263 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
264
265 return obj(*__args, **__kw)
266
267 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
268
269 if login_manager.login(retry=True, autocreate=autocreate):
270
271 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
272
273 cookiedata = self.getCookie()
274
275 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
276
277 return obj(*new_args, **new_kwargs)
278
279 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
280
281 login_result = login_request.submit()
282
283 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
284
285 if not self._logged_in(code):
286
287 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
288
289 self.site._relogin()
290
291 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
292
293 self.login()
294
295 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
296
297 return obj(*__args, **__kw)
298
299 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
300
301 if login_manager.login(retry=True, autocreate=autocreate):
302
303 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
304
305 cookiedata = self.getCookie()
306
307 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
308
309 return obj(*new_args, **new_kwargs)
310
311 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
312
313 login_result = login_request.submit()
314
315 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
316
317 if not self._logged_in(code):
318
319 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
320
321 self.site._relogin()
322
323 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
324
325 self.login()
326
327 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
328
329 return obj(*__args, **__kw)
330
331 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
332
333 if login_manager.login(retry=True, autocreate=autocreate):
334
335 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
336
337 cookiedata = self.getCookie()
338
339 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
340
341 return obj(*new_args, **new_kwargs)
342
343 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
344
345 login_result = login_request.submit()
346
347 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
348
349 if not self._logged_in(code):
350
351 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
352
353 self.site._relogin()
354
355 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
356
357 self.login()
358
359 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
360
361 return obj(*__args, **__kw)
362
363 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
364
365 if login_manager.login(retry=True, autocreate=autocreate):
366
367 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
368
369 cookiedata = self.getCookie()
370
371 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
372
373 return obj(*new_args, **new_kwargs)
374
375 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
376
377 login_result = login_request.submit()
378
379 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
380
381 if not self._logged_in(code):
382
383 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
384
385 self.site._relogin()
386
387 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
388
389 self.login()
390
391 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
392
393 return obj(*__args, **__kw)
394
395 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
396
397 if login_manager.login(retry=True, autocreate=autocreate):
398
399 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
400
401 cookiedata = self.getCookie()
402
403 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
404
405 return obj(*new_args, **new_kwargs)
406
407 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
408
409 login_result = login_request.submit()
410
411 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
412
413 if not self._logged_in(code):
414
415 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
416
417 self.site._relogin()
418
419 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
420
421 self.login()
422
423 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
424
425 return obj(*__args, **__kw)
426
427 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
428
429 if login_manager.login(retry=True, autocreate=autocreate):
430
431 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
432
433 cookiedata = self.getCookie()
434
435 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
436
437 return obj(*new_args, **new_kwargs)
438
439 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
440
441 login_result = login_request.submit()
442
443 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
444
445 if not self._logged_in(code):
446
447 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
448
449 self.site._relogin()
450
451 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
452
453 self.login()
454
455 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
456
457 return obj(*__args, **__kw)
458
459 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
460
461 if login_manager.login(retry=True, autocreate=autocreate):
462
463 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
464
465 cookiedata = self.getCookie()
466
467 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
468
469 return obj(*new_args, **new_kwargs)
470
471 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
472
473 login_result = login_request.submit()
474
475 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
476
477 if not self._logged_in(code):
478
479 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
480
481 self.site._relogin()
482
483 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
484
485 self.login()
486
487 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
488
489 return obj(*__args, **__kw)
490
491 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
492
493 if login_manager.login(retry=True, autocreate=autocreate):
494
495 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
496
497 cookiedata = self.getCookie()
498
499 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
500
501 return obj(*new_args, **new_kwargs)
502
503 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
504
505 login_result = login_request.submit()
506
507 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
508
509 if not self._logged_in(code):
510
511 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
512
513 self.site._relogin()
514
515 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
516
517 self.login()
518
519 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
520
521 return obj(*__args, **__kw)
522
523 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
524
525 if login_manager.login(retry=True, autocreate=autocreate):
526
527 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
528
529 cookiedata = self.getCookie()
530
531 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
532
533 return obj(*new_args, **new_kwargs)
534
535 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
536
537 login_result = login_request.submit()
538
539 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
540
541 if not self._logged_in(code):
542
543 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
544
545 self.site._relogin()
546
547 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
548
549 self.login()
550
551 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
552
553 return obj(*__args, **__kw)
554
555 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
556
557 if login_manager.login(retry=True, autocreate=autocreate):
558
559 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
560
561 cookiedata = self.getCookie()
562
563 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
564
565 return obj(*new_args, **new_kwargs)
566
567 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
568
569 login_result = login_request.submit()
570
571 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
572
573 if not self._logged_in(code):
574
575 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
576
577 self.site._relogin()
578
579 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
580
581 self.login()
582
583 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
584
585 return obj(*__args, **__kw)
586
587 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
588
589 if login_manager.login(retry=True, autocreate=autocreate):
590
591 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
592
593 cookiedata = self.getCookie()
594
595 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
596
597 return obj(*new_args, **new_kwargs)
598
599 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
600
601 login_result = login_request.submit()
602
603 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
604
605 if not self._logged_in(code):
606
607 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
608
609 self.site._relogin()
610
611 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
612
613 self.login()
614
615 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
616
617 return obj(*__args, **__kw)
618
619 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
620
621 if login_manager.login(retry=True, autocreate=autocreate):
622
623 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
624
625 cookiedata = self.getCookie()
626
627 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
628
629 return obj(*new_args, **new_kwargs)
630
631 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
632
633 login_result = login_request.submit()
634
635 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
636
637 if not self._logged_in(code):
638
639 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
640
641 self.site._relogin()
642
643 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
644
645 self.login()
646
647 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
648
649 return obj(*__args, **__kw)
650
651 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
652
653 if login_manager.login(retry=True, autocreate=autocreate):
654
655 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
656
657 cookiedata = self.getCookie()
658
659 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
660
661 return obj(*new_args, **new_kwargs)
662
663 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
664
665 login_result = login_request.submit()
666
667 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
668
669 if not self._logged_in(code):
670
671 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
672
673 self.site._relogin()
674
675 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
676
677 self.login()
678
679 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
680
681 return obj(*__args, **__kw)
682
683 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
684
685 if login_manager.login(retry=True, autocreate=autocreate):
686
687 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
688
689 cookiedata = self.getCookie()
690
691 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
692
693 return obj(*new_args, **new_kwargs)
694
695 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
696
697 login_result = login_request.submit()
698
699 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
700
701 if not self._logged_in(code):
702
703 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
704
705 self.site._relogin()
706
707 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
708
709 self.login()
710
711 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
712
713 return obj(*__args, **__kw)
714
715 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
716
717 if login_manager.login(retry=True, autocreate=autocreate):
718
719 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
720
721 cookiedata = self.getCookie()
722
723 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
724
725 return obj(*new_args, **new_kwargs)
726
727 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
728
729 login_result = login_request.submit()
730
731 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
732
733 if not self._logged_in(code):
734
735 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
736
737 self.site._relogin()
738
739 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
740
741 self.login()
742
743 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
744
745 return obj(*__args, **__kw)
746
747 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
748
749 if login_manager.login(retry=True, autocreate=autocreate):
750
751 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
752
753 cookiedata = self.getCookie()
754
755 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
756
757 return obj(*new_args, **new_kwargs)
758
759 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
760
761 login_result = login_request.submit()
762
763 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
764
765 if not self._logged_in(code):
766
767 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
768
769 self.site._relogin()
770
771 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
772
773 self.login()
774
775 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
776
777 return obj(*__args, **__kw)
778
779 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
780
781 if login_manager.login(retry=True, autocreate=autocreate):
782
783 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
784
785 cookiedata = self.getCookie()
786
787 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
788
789 return obj(*new_args, **new_kwargs)
790
791 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
792
793 login_result = login_request.submit()
794
795 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
796
797 if not self._logged_in(code):
798
799 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
800
801 self.site._relogin()
802
803 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
804
805 self.login()
806
807 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
808
809 return obj(*__args, **__kw)
810
811 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
812
813 if login_manager.login(retry=True, autocreate=autocreate):
814
815 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
816
817 cookiedata = self.getCookie()
818
819 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
820
821 return obj(*new_args, **new_kwargs)
822
823 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
824
825 login_result = login_request.submit()
826
827 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
828
829 if not self._logged_in(code):
830
831 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
832
833 self.site._relogin()
834
835 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
836
837 self.login()
838
839 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
840
841 return obj(*__args, **__kw)
842
843 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
844
845 if login_manager.login(retry=True, autocreate=autocreate):
846
847 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
848
849 cookiedata = self.getCookie()
850
851 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
852
853 return obj(*new_args, **new_kwargs)
854
855 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
856
857 login_result = login_request.submit()
858
859 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
860
861 if not self._logged_in(code):
862
863 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
864
865 self.site._relogin()
866
867 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
868
869 self.login()
870
871 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
872
873 return obj(*__args, **__kw)
874
875 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
876
877 if login_manager.login(retry=True, autocreate=autocreate):
878
879 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
880
881 cookiedata = self.getCookie()
882
883 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
884
885 return obj(*new_args, **new_kwargs)
886
887 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
888
889 login_result = login_request.submit()
890
891 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
892
893 if not self._logged_in(code):
894
895 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
896
897 self.site._relogin()
898
899 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
900
901 self.login()
902
903 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
904
905 return obj(*__args, **__kw)
906
907 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
908
909 if login_manager.login(retry=True, autocreate=autocreate):
910
911 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
912
913 cookiedata = self.getCookie()
914
915 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
916
917 return obj(*new_args, **new_kwargs)
918
919 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
920
921 login_result = login_request.submit()
922
923 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
924
925 if not self._logged_in(code):
926
927 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
928
929 self.site._relogin()
930
931 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
932
933 self.login()
934
935 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
936
937 return obj(*__args, **__kw)
938
939 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
940
941 if login_manager.login(retry=True, autocreate=autocreate):
942
943 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
944
945 cookiedata = self.getCookie()
946
947 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
948
949 return obj(*new_args, **new_kwargs)
950
951 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
952
953 login_result = login_request.submit()
954
955 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
956
957 if not self._logged_in(code):
958
959 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
960
961 self.site._relogin()
962
963 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
964
965 self.login()
966
967 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
968
969 return obj(*__args, **__kw)
970
971 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
972
973 if login_manager.login(retry=True, autocreate=autocreate):
974
975 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
976
977 cookiedata = self.getCookie()
978
979 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
980
981 return obj(*new_args, **new_kwargs)
982
983 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
984
985 login_result = login_request.submit()
986
987 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
988
989 if not self._logged_in(code):
990
991 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
992
993 self.site._relogin()
994
995 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
996
997 self.login()
998
999 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
1000
1001 return obj(*__args, **__kw)
1002
1003 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
1004
1005 if login_manager.login(retry=True, autocreate=autocreate):
1006
1007 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
1008
1009 cookiedata = self.getCookie()
1010
1011 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
1012
1013 return obj(*new_args, **new_kwargs)
1014
1015 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
1016
1017 login_result = login_request.submit()
1018
1019 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
1020
1021 if not self._logged_in(code):
1022
1023 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
1024
1025 self.site._relogin()
1026
1027 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
1028
1029 self.login()
1030
1031 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
1032
1033 return obj(*__args, **__kw)
1034
1035 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
1036
1037 if login_manager.login(retry=True, autocreate=autocreate):
1038
1039 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
1040
1041 cookiedata = self.getCookie()
1042
1043 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
1044
1045 return obj(*new_args, **new_kwargs)
1046
1047 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
1048
1049 login_result = login_request.submit()
1050
1051 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
1052
1053 if not self._logged_in(code):
1054
1055 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
1056
1057 self.site._relogin()
1058
1059 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
1060
1061 self.login()
1062
1063 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
1064
1065 return obj(*__args, **__kw)
1066
1067 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
1068
1069 if login_manager.login(retry=True, autocreate=autocreate):
1070
1071 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
1072
1073 cookiedata = self.getCookie()
1074
1075 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
1076
1077 return obj(*new_args, **new_kwargs)
1078
1079 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
1080
1081 login_result = login_request.submit()
1082
1083 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
1084
1085 if not self._logged_in(code):
1086
1087 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
1088
1089 self.site._relogin()
1090
1091 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
1092
1093 self.login()
1094
1095 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
1096
1097 return obj(*__args, **__kw)
1098
1099 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
1100
1101 if login_manager.login(retry=True, autocreate=autocreate):
1102
1103 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
1104
1105 cookiedata = self.getCookie()
1106
1107 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
1108
1109 return obj(*new_args, **new_kwargs)
1110
1111 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
1112
1113 login_result = login_request.submit()
1114
1115 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
1116
1117 if not self._logged_in(code):
1118
1119 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
1120
1121 self.site._relogin()
1122
1123 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
1124
1125 self.login()
1126
1127 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
1128
1129 return obj(*__args, **__kw)
1130
1131 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
1132
1133 if login_manager.login(retry=True, autocreate=autocreate):
1134
1135 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
1136
1137 cookiedata = self.getCookie()
1138
1139 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
1140
1141 return obj(*new_args, **new_kwargs)
1142
1143 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
1144
1145 login_result = login_request.submit()
1146
1147 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
1148
1149 if not self._logged_in(code):
1150
1151 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
1152
1153 self.site._relogin()
1154
1155 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
1156
1157 self.login()
1158
1159 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
1160
1161 return obj(*__args, **__kw)
1162
1163 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
1164
1165 if login_manager.login(retry=True, autocreate=autocreate):
1166
1167 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
1168
1169 cookiedata = self.getCookie()
1170
1171 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
1172
1173 return obj(*new_args, **new_kwargs)
1174
1175 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
1176
1177 login_result = login_request.submit()
1178
1179 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
1180
1181 if not self._logged_in(code):
1182
1183 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
1184
1185 self.site._relogin()
1186
1187 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
1188
1189 self.login()
1190
1191 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
1192
1193 return obj(*__args, **__kw)
1194
1195 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
1196
1197 if login_manager.login(retry=True, autocreate=autocreate):
1198
1199 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
1200
1201 cookiedata = self.getCookie()
1202
1203 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
1204
1205 return obj(*new_args, **new_kwargs)
1206
1207 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
1208
1209 login_result = login_request.submit()
1210
1211 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
1212
1213 if not self._logged_in(code):
1214
1215 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
1216
1217 self.site._relogin()
1218
1219 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
1220
1221 self.login()
1222
1223 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
1224
1225 return obj(*__args, **__kw)
1226
1227 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
1228
1229 if login_manager.login(retry=True, autocreate=autocreate):
1230
1231 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
1232
1233 cookiedata = self.getCookie()
1234
1235 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
1236
1237 return obj(*new_args, **new_kwargs)
1238
1239 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
1240
1241 login_result = login_request.submit()
1242
1243 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
1244
1245 if not self._logged_in(code):
1246
1247 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
1248
1249 self.site._relogin()
1250
1251 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
1252
1253 self.login()
1254
1255 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
1256
1257 return obj(*__args, **__kw)
1258
1259 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
1260
1261 if login_manager.login(retry=True, autocreate=autocreate):
1262
1263 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
1264
1265 cookiedata = self.getCookie()
1266
1267 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
1268
1269 return obj(*new_args, **new_kwargs)
1270
1271 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
1272
1273 login_result = login_request.submit()
1274
1275 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
1276
1277 if not self._logged_in(code):
1278
1279 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
1280
1281 self.site._relogin()
1282
1283 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
1284
1285 self.login()
1286
1287 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
1288
1289 return obj(*__args, **__kw)
1290
1291 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
1292
1293 if login_manager.login(retry=True, autocreate=autocreate):
1294
1295 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
1296
1297 cookiedata = self.getCookie()
1298
1299 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
1300
1301 return obj(*new_args, **new_kwargs)
1302
1303 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
1304
1305 login_result = login_request.submit()
1306
1307 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
1308
1309 if not self._logged_in(code):
1310
1311 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
1312
1313 self.site._relogin()
1314
1315 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
1316
1317 self.login()
1318
1319 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
1320
1321 return obj(*__args, **__kw)
1322
1323 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
1324
1325 if login_manager.login(retry=True, autocreate=autocreate):
1326
1327 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
1328
1329 cookiedata = self.getCookie()
1330
1331 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
1332
1333 return obj(*new_args, **new_kwargs)
1334
1335 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
1336
1337 login_result = login_request.submit()
1338
1339 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
1340
1341 if not self._logged_in(code):
1342
1343 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
1344
1345 self.site._relogin()
1346
1347 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
1348
1349 self.login()
1350
1351 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
1352
1353 return obj(*__args, **__kw)
1354
1355 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
1356
1357 if login_manager.login(retry=True, autocreate=autocreate):
1358
1359 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
1360
1361 cookiedata = self.getCookie()
1362
1363 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
1364
1365 return obj(*new_args, **new_kwargs)
1366
1367 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
1368
1369 login_result = login_request.submit()
1370
1371 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
1372
1373 if not self._logged_in(code):
1374
1375 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
1376
1377 self.site._relogin()
1378
1379 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
1380
1381 self.login()
1382
1383 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
1384
1385 return obj(*__args, **__kw)
1386
1387 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
1388
1389 if login_manager.login(retry=True, autocreate=autocreate):
1390
1391 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
1392
1393 cookiedata = self.getCookie()
1394
1395 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
1396
1397 return obj(*new_args, **new_kwargs)
1398
1399 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
1400
1401 login_result = login_request.submit()
1402
1403 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
1404
1405 if not self._logged_in(code):
1406
1407 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
1408
1409 self.site._relogin()
1410
1411 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
1412
1413 self.login()
1414
1415 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
1416
1417 return obj(*__args, **__kw)
1418
1419 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
1420
1421 if login_manager.login(retry=True, autocreate=autocreate):
1422
1423 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
1424
1425 cookiedata = self.getCookie()
1426
1427 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
1428
1429 return obj(*new_args, **new_kwargs)
1430
1431 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
1432
1433 login_result = login_request.submit()
1434
1435 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
1436
1437 if not self._logged_in(code):
1438
1439 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
1440
1441 self.site._relogin()
1442
1443 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
1444
1445 self.login()
1446
1447 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
1448
1449 return obj(*__args, **__kw)
1450
1451 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
1452
1453 if login_manager.login(retry=True, autocreate=autocreate):
1454
1455 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
1456
1457 cookiedata = self.getCookie()
1458
1459 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
1460
1461 return obj(*new_args, **new_kwargs)
1462
1463 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
1464
1465 login_result = login_request.submit()
1466
1467 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
1468
1469 if not self._logged_in(code):
1470
1471 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
1472
1473 self.site._relogin()
1474
1475 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
1476
1477 self.login()
1478
1479 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
1480
1481 return obj(*__args, **__kw)
1482
1483 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
1484
1485 if login_manager.login(retry=True, autocreate=autocreate):
1486
1487 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
1488
1489 cookiedata = self.getCookie()
1490
1491 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
1492
1493 return obj(*new_args, **new_kwargs)
1494
1495 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
1496
1497 login_result = login_request.submit()
1498
1499 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
1500
1501 if not self._logged_in(code):
1502
1503 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
1504
1505 self.site._relogin()
1506
1507 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
1508
1509 self.login()
1510
1511 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
1512
1513 return obj(*__args, **__kw)
1514
1515 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
1516
1517 if login_manager.login(retry=True, autocreate=autocreate):
1518
1519 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
1520
1521 cookiedata = self.getCookie()
1522
1523 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
1524
1525 return obj(*new_args, **new_kwargs)
1526
1527 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
1528
1529 login_result = login_request.submit()
1530
1531 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
1532
1533 if not self._logged_in(code):
1534
1535 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
1536
1537 self.site._relogin()
1538
1539 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
1540
1541 self.login()
1542
1543 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
1544
1545 return obj(*__args, **__kw)
1546
1547 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
1548
1549 if login_manager.login(retry=True, autocreate=autocreate):
1550
1551 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
1552
1553 cookiedata = self.getCookie()
1554
1555 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
1556
1557 return obj(*new_args, **new_kwargs)
1558
1559 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
1560
1561 login_result = login_request.submit()
1562
1563 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
1564
1565 if not self._logged_in(code):
1566
1567 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
1568
1569 self.site._relogin()
1570
1571 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
1572
1573 self.login()
1574
1575 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
1576
1577 return obj(*__args, **__kw)
1578
1579 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
1580
1581 if login_manager.login(retry=True, autocreate=autocreate):
1582
1583 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
1584
1585 cookiedata = self.getCookie()
1586
1587 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
1588
1589 return obj(*new_args, **new_kwargs)
1590
1591 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
1592
1593 login_result = login_request.submit()
1594
1595 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
1596
1597 if not self._logged_in(code):
1598
1599 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
1600
1601 self.site._relogin()
1602
1603 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
1604
1605 self.login()
1606
1607 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
1608
1609 return obj(*__args, **__kw)
1610
1611 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
1612
1613 if login_manager.login(retry=True, autocreate=autocreate):
1614
1615 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
1616
1617 cookiedata = self.getCookie()
1618
1619 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
1620
1621 return obj(*new_args, **new_kwargs)
1622
1623 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
1624
1625 login_result = login_request.submit()
1626
1627 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
1628
1629 if not self._logged_in(code):
1630
1631 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
1632
1633 self.site._relogin()
1634
1635 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
1636
1637 self.login()
1638
1639 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
1640
1641 return obj(*__args, **__kw)
1642
1643 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
1644
1645 if login_manager.login(retry=True, autocreate=autocreate):
1646
1647 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
1648
1649 cookiedata = self.getCookie()
1650
1651 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
1652
1653 return obj(*new_args, **new_kwargs)
1654
1655 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
1656
1657 login_result = login_request.submit()
1658
1659 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
1660
1661 if not self._logged_in(code):
1662
1663 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
1664
1665 self.site._relogin()
1666
1667 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
1668
1669 self.login()
1670
1671 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
1672
1673 return obj(*__args, **__kw)
1674
1675 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
1676
1677 if login_manager.login(retry=True, autocreate=autocreate):
1678
1679 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
1680
1681 cookiedata = self.getCookie()
1682
1683 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
1684
1685 return obj(*new_args, **new_kwargs)
1686
1687 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
1688
1689 login_result = login_request.submit()
1690
1691 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
1692
1693 if not self._logged_in(code):
1694
1695 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
1696
1697 self.site._relogin()
1698
1699 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
1700
1701 self.login()
1702
1703 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
1704
1705 return obj(*__args, **__kw)
1706
1707 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
1708
1709 if login_manager.login(retry=True, autocreate=autocreate):
1710
1711 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
1712
1713 cookiedata = self.getCookie()
1714
1715 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
1716
1717 return obj(*new_args, **new_kwargs)
1718
1719 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
1720
1721 login_result = login_request.submit()
1722
1723 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
1724
1725 if not self._logged_in(code):
1726
1727 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
1728
1729 self.site._relogin()
1730
1731 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
1732
1733 self.login()
1734
1735 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
1736
1737 return obj(*__args, **__kw)
1738
1739 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
1740
1741 if login_manager.login(retry=True, autocreate=autocreate):
1742
1743 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
1744
1745 cookiedata = self.getCookie()
1746
1747 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
1748
1749 return obj(*new_args, **new_kwargs)
1750
1751 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
1752
1753 login_result = login_request.submit()
1754
1755 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
1756
1757 if not self._logged_in(code):
1758
1759 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
1760
1761 self.site._relogin()
1762
1763 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
1764
1765 self.login()
1766
1767 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
1768
1769 return obj(*__args, **__kw)
1770
1771 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
1772
1773 if login_manager.login(retry=True, autocreate=autocreate):
1774
1775 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
1776
1777 cookiedata = self.getCookie()
1778
1779 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
1780
1781 return obj(*new_args, **new_kwargs)
1782
1783 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
1784
1785 login_result = login_request.submit()
1786
1787 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
1788
1789 if not self._logged_in(code):
1790
1791 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
1792
1793 self.site._relogin()
1794
1795 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
1796
1797 self.login()
1798
1799 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
1800
1801 return obj(*__args, **__kw)
1802
1803 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
1804
1805 if login_manager.login(retry=True, autocreate=autocreate):
1806
1807 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
1808
1809 cookiedata = self.getCookie()
1810
1811 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
1812
1813 return obj(*new_args, **new_kwargs)
1814
1815 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
1816
1817 login_result = login_request.submit()
1818
1819 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
1820
1821 if not self._logged_in(code):
1822
1823 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
1824
1825 self.site._relogin()
1826
1827 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
1828
1829 self.login()
1830
1831 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
1832
1833 return obj(*__args, **__kw)
1834
1835 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
1836
1837 if login_manager.login(retry=True, autocreate=autocreate):
1838
1839 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
1840
1841 cookiedata = self.getCookie()
1842
1843 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
1844
1845 return obj(*new_args, **new_kwargs)
1846
1847 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
1848
1849 login_result = login_request.submit()
1850
1851 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
1852
1853 if not self._logged_in(code):
1854
1855 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
1856
1857 self.site._relogin()
1858
1859 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
1860
1861 self.login()
1862
1863 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
1864
1865 return obj(*__args, **__kw)
1866
1867 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
1868
1869 if login_manager.login(retry=True, autocreate=autocreate):
1870
1871 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
1872
1873 cookiedata = self.getCookie()
1874
1875 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
1876
1877 return obj(*new_args, **new_kwargs)
1878
1879 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
1880
1881 login_result = login_request.submit()
1882
1883 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
1884
1885 if not self._logged_in(code):
1886
1887 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
1888
1889 self.site._relogin()
1890
1891 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
1892
1893 self.login()
1894
1895 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
1896
1897 return obj(*__args, **__kw)
1898
1899 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
1900
1901 if login_manager.login(retry=True, autocreate=autocreate):
1902
1903 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
1904
1905 cookiedata = self.getCookie()
1906
1907 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
1908
1909 return obj(*new_args, **new_kwargs)
1910
1911 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
1912
1913 login_result = login_request.submit()
1914
1915 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
1916
1917 if not self._logged_in(code):
1918
1919 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
1920
1921 self.site._relogin()
1922
1923 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
1924
1925 self.login()
1926
1927 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
1928
1929 return obj(*__args, **__kw)
1930
1931 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
1932
1933 if login_manager.login(retry=True, autocreate=autocreate):
1934
1935 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
1936
1937 cookiedata = self.getCookie()
1938
1939 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
1940
1941 return obj(*new_args, **new_kwargs)
1942
1943 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
1944
1945 login_result = login_request.submit()
1946
1947 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
1948
1949 if not self._logged_in(code):
1950
1951 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
1952
1953 self.site._relogin()
1954
1955 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
1956
1957 self.login()
1958
1959 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
1960
1961 return obj(*__args, **__kw)
1962
1963 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
1964
1965 if login_manager.login(retry=True, autocreate=autocreate):
1966
1967 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
1968
1969 cookiedata = self.getCookie()
1970
1971 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
1972
1973 return obj(*new_args, **new_kwargs)
1974
1975 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
1976
1977 login_result = login_request.submit()
1978
1979 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
1980
1981 if not self._logged_in(code):
1982
1983 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
1984
1985 self.site._relogin()
1986
1987 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
1988
1989 self.login()
1990
1991 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
1992
1993 return obj(*__args, **__kw)
1994
1995 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
1996
1997 if login_manager.login(retry=True, autocreate=autocreate):
1998
1999 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
2000
2001 cookiedata = self.getCookie()
2002
2003 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
2004
2005 return obj(*new_args, **new_kwargs)
2006
2007 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
2008
2009 login_result = login_request.submit()
2010
2011 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
2012
2013 if not self._logged_in(code):
2014
2015 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
2016
2017 self.site._relogin()
2018
2019 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
2020
2021 self.login()
2022
2023 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
2024
2025 return obj(*__args, **__kw)
2026
2027 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
2028
2029 if login_manager.login(retry=True, autocreate=autocreate):
2030
2031 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
2032
2033 cookiedata = self.getCookie()
2034
2035 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
2036
2037 return obj(*new_args, **new_kwargs)
2038
2039 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
2040
2041 login_result = login_request.submit()
2042
2043 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
2044
2045 if not self._logged_in(code):
2046
2047 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
2048
2049 self.site._relogin()
2050
2051 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
2052
2053 self.login()
2054
2055 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
2056
2057 return obj(*__args, **__kw)
2058
2059 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
2060
2061 if login_manager.login(retry=True, autocreate=autocreate):
2062
2063 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
2064
2065 cookiedata = self.getCookie()
2066
2067 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
2068
2069 return obj(*new_args, **new_kwargs)
2070
2071 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
2072
2073 login_result = login_request.submit()
2074
2075 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
2076
2077 if not self._logged_in(code):
2078
2079 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
2080
2081 self.site._relogin()
2082
2083 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
2084
2085 self.login()
2086
2087 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
2088
2089 return obj(*__args, **__kw)
2090
2091 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
2092
2093 if login_manager.login(retry=True, autocreate=autocreate):
2094
2095 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
2096
2097 cookiedata = self.getCookie()
2098
2099 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
2100
2101 return obj(*new_args, **new_kwargs)
2102
2103 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
2104
2105 login_result = login_request.submit()
2106
2107 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
2108
2109 if not self._logged_in(code):
2110
2111 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
2112
2113 self.site._relogin()
2114
2115 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
2116
2117 self.login()
2118
2119 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
2120
2121 return obj(*__args, **__kw)
2122
2123 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
2124
2125 if login_manager.login(retry=True, autocreate=autocreate):
2126
2127 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
2128
2129 cookiedata = self.getCookie()
2130
2131 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
2132
2133 return obj(*new_args, **new_kwargs)
2134
2135 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
2136
2137 login_result = login_request.submit()
2138
2139 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
2140
2141 if not self._logged_in(code):
2142
2143 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
2144
2145 self.site._relogin()
2146
2147 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
2148
2149 self.login()
2150
2151 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
2152
2153 return obj(*__args, **__kw)
2154
2155 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
2156
2157 if login_manager.login(retry=True, autocreate=autocreate):
2158
2159 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
2160
2161 cookiedata = self.getCookie()
2162
2163 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
2164
2165 return obj(*new_args, **new_kwargs)
2166
2167 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
2168
2169 login_result = login_request.submit()
2170
2171 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
2172
2173 if not self._logged_in(code):
2174
2175 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
2176
2177 self.site._relogin()
2178
2179 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
2180
2181 self.login()
2182
2183 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
2184
2185 return obj(*__args, **__kw)
2186
2187 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
2188
2189 if login_manager.login(retry=True, autocreate=autocreate):
2190
2191 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
2192
2193 cookiedata = self.getCookie()
2194
2195 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
2196
2197 return obj(*new_args, **new_kwargs)
2198
2199 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
2200
2201 login_result = login_request.submit()
2202
2203 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
2204
2205 if not self._logged_in(code):
2206
2207 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
2208
2209 self.site._relogin()
2210
2211 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
2212
2213 self.login()
2214
2215 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
2216
2217 return obj(*__args, **__kw)
2218
2219 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
2220
2221 if login_manager.login(retry=True, autocreate=autocreate):
2222
2223 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
2224
2225 cookiedata = self.getCookie()
2226
2227 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
2228
2229 return obj(*new_args, **new_kwargs)
2230
2231 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
2232
2233 login_result = login_request.submit()
2234
2235 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
2236
2237 if not self._logged_in(code):
2238
2239 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
2240
2241 self.site._relogin()
2242
2243 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
2244
2245 self.login()
2246
2247 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
2248
2249 return obj(*__args, **__kw)
2250
2251 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
2252
2253 if login_manager.login(retry=True, autocreate=autocreate):
2254
2255 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
2256
2257 cookiedata = self.getCookie()
2258
2259 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
2260
2261 return obj(*new_args, **new_kwargs)
2262
2263 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
2264
2265 login_result = login_request.submit()
2266
2267 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
2268
2269 if not self._logged_in(code):
2270
2271 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
2272
2273 self.site._relogin()
2274
2275 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
2276
2277 self.login()
2278
2279 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
2280
2281 return obj(*__args, **__kw)
2282
2283 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
2284
2285 if login_manager.login(retry=True, autocreate=autocreate):
2286
2287 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
2288
2289 cookiedata = self.getCookie()
2290
2291 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
2292
2293 return obj(*new_args, **new_kwargs)
2294
2295 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
2296
2297 login_result = login_request.submit()
2298
2299 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
2300
2301 if not self._logged_in(code):
2302
2303 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
2304
2305 self.site._relogin()
2306
2307 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
2308
2309 self.login()
2310
2311 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
2312
2313 return obj(*__args, **__kw)
2314
2315 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
2316
2317 if login_manager.login(retry=True, autocreate=autocreate):
2318
2319 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
2320
2321 cookiedata = self.getCookie()
2322
2323 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
2324
2325 return obj(*new_args, **new_kwargs)
2326
2327 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
2328
2329 login_result = login_request.submit()
2330
2331 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
2332
2333 if not self._logged_in(code):
2334
2335 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
2336
2337 self.site._relogin()
2338
2339 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
2340
2341 self.login()
2342
2343 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
2344
2345 return obj(*__args, **__kw)
2346
2347 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
2348
2349 if login_manager.login(retry=True, autocreate=autocreate):
2350
2351 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
2352
2353 cookiedata = self.getCookie()
2354
2355 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
2356
2357 return obj(*new_args, **new_kwargs)
2358
2359 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
2360
2361 login_result = login_request.submit()
2362
2363 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
2364
2365 if not self._logged_in(code):
2366
2367 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
2368
2369 self.site._relogin()
2370
2371 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
2372
2373 self.login()
2374
2375 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
2376
2377 return obj(*__args, **__kw)
2378
2379 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
2380
2381 if login_manager.login(retry=True, autocreate=autocreate):
2382
2383 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
2384
2385 cookiedata = self.getCookie()
2386
2387 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
2388
2389 return obj(*new_args, **new_kwargs)
2390
2391 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
2392
2393 login_result = login_request.submit()
2394
2395 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
2396
2397 if not self._logged_in(code):
2398
2399 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
2400
2401 self.site._relogin()
2402
2403 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
2404
2405 self.login()
2406
2407 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
2408
2409 return obj(*__args, **__kw)
2410
2411 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
2412
2413 if login_manager.login(retry=True, autocreate=autocreate):
2414
2415 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
2416
2417 cookiedata = self.getCookie()
2418
2419 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
2420
2421 return obj(*new_args, **new_kwargs)
2422
2423 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
2424
2425 login_result = login_request.submit()
2426
2427 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
2428
2429 if not self._logged_in(code):
2430
2431 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
2432
2433 self.site._relogin()
2434
2435 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
2436
2437 self.login()
2438
2439 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
2440
2441 return obj(*__args, **__kw)
2442
2443 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
2444
2445 if login_manager.login(retry=True, autocreate=autocreate):
2446
2447 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
2448
2449 cookiedata = self.getCookie()
2450
2451 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
2452
2453 return obj(*new_args, **new_kwargs)
2454
2455 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
2456
2457 login_result = login_request.submit()
2458
2459 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
2460
2461 if not self._logged_in(code):
2462
2463 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
2464
2465 self.site._relogin()
2466
2467 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
2468
2469 self.login()
2470
2471 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
2472
2473 return obj(*__args, **__kw)
2474
2475 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
2476
2477 if login_manager.login(retry=True, autocreate=autocreate):
2478
2479 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
2480
2481 cookiedata = self.getCookie()
2482
2483 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
2484
2485 return obj(*new_args, **new_kwargs)
2486
2487 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
2488
2489 login_result = login_request.submit()
2490
2491 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
2492
2493 if not self._logged_in(code):
2494
2495 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
2496
2497 self.site._relogin()
2498
2499 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
2500
2501 self.login()
2502
2503 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
2504
2505 return obj(*__args, **__kw)
2506
2507 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
2508
2509 if login_manager.login(retry=True, autocreate=autocreate):
2510
2511 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
2512
2513 cookiedata = self.getCookie()
2514
2515 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
2516
2517 return obj(*new_args, **new_kwargs)
2518
2519 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
2520
2521 login_result = login_request.submit()
2522
2523 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
2524
2525 if not self._logged_in(code):
2526
2527 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
2528
2529 self.site._relogin()
2530
2531 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
2532
2533 self.login()
2534
2535 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
2536
2537 return obj(*__args, **__kw)
2538
2539 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
2540
2541 if login_manager.login(retry=True, autocreate=autocreate):
2542
2543 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
2544
2545 cookiedata = self.getCookie()
2546
2547 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
2548
2549 return obj(*new_args, **new_kwargs)
2550
2551 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
2552
2553 login_result = login_request.submit()
2554
2555 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
2556
2557 if not self._logged_in(code):
2558
2559 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
2560
2561 self.site._relogin()
2562
2563 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
2564
2565 self.login()
2566
2567 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
2568
2569 return obj(*__args, **__kw)
2570
2571 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
2572
2573 if login_manager.login(retry=True, autocreate=autocreate):
2574
2575 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
2576
2577 cookiedata = self.getCookie()
2578
2579 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
2580
2581 return obj(*new_args, **new_kwargs)
2582
2583 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
2584
2585 login_result = login_request.submit()
2586
2587 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
2588
2589 if not self._logged_in(code):
2590
2591 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
2592
2593 self.site._relogin()
2594
2595 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
2596
2597 self.login()
2598
2599 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
2600
2601 return obj(*__args, **__kw)
2602
2603 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
2604
2605 if login_manager.login(retry=True, autocreate=autocreate):
2606
2607 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
2608
2609 cookiedata = self.getCookie()
2610
2611 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
2612
2613 return obj(*new_args, **new_kwargs)
2614
2615 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
2616
2617 login_result = login_request.submit()
2618
2619 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
2620
2621 if not self._logged_in(code):
2622
2623 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
2624
2625 self.site._relogin()
2626
2627 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
2628
2629 self.login()
2630
2631 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
2632
2633 return obj(*__args, **__kw)
2634
2635 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
2636
2637 if login_manager.login(retry=True, autocreate=autocreate):
2638
2639 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
2640
2641 cookiedata = self.getCookie()
2642
2643 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
2644
2645 return obj(*new_args, **new_kwargs)
2646
2647 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
2648
2649 login_result = login_request.submit()
2650
2651 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
2652
2653 if not self._logged_in(code):
2654
2655 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
2656
2657 self.site._relogin()
2658
2659 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
2660
2661 self.login()
2662
2663 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
2664
2665 return obj(*__args, **__kw)
2666
2667 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
2668
2669 if login_manager.login(retry=True, autocreate=autocreate):
2670
2671 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
2672
2673 cookiedata = self.getCookie()
2674
2675 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
2676
2677 return obj(*new_args, **new_kwargs)
2678
2679 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
2680
2681 login_result = login_request.submit()
2682
2683 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
2684
2685 if not self._logged_in(code):
2686
2687 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
2688
2689 self.site._relogin()
2690
2691 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
2692
2693 self.login()
2694
2695 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
2696
2697 return obj(*__args, **__kw)
2698
2699 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
2700
2701 if login_manager.login(retry=True, autocreate=autocreate):
2702
2703 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
2704
2705 cookiedata = self.getCookie()
2706
2707 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
2708
2709 return obj(*new_args, **new_kwargs)
2710
2711 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
2712
2713 login_result = login_request.submit()
2714
2715 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
2716
2717 if not self._logged_in(code):
2718
2719 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
2720
2721 self.site._relogin()
2722
2723 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
2724
2725 self.login()
2726
2727 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
2728
2729 return obj(*__args, **__kw)
2730
2731 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
2732
2733 if login_manager.login(retry=True, autocreate=autocreate):
2734
2735 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
2736
2737 cookiedata = self.getCookie()
2738
2739 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
2740
2741 return obj(*new_args, **new_kwargs)
2742
2743 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
2744
2745 login_result = login_request.submit()
2746
2747 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
2748
2749 if not self._logged_in(code):
2750
2751 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
2752
2753 self.site._relogin()
2754
2755 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
2756
2757 self.login()
2758
2759 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
2760
2761 return obj(*__args, **__kw)
2762
2763 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
2764
2765 if login_manager.login(retry=True, autocreate=autocreate):
2766
2767 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
2768
2769 cookiedata = self.getCookie()
2770
2771 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
2772
2773 return obj(*new_args, **new_kwargs)
2774
2775 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
2776
2777 login_result = login_request.submit()
2778
2779 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
2780
2781 if not self._logged_in(code):
2782
2783 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
2784
2785 self.site._relogin()
2786
2787 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
2788
2789 self.login()
2790
2791 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
2792
2793 return obj(*__args, **__kw)
2794
2795 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
2796
2797 if login_manager.login(retry=True, autocreate=autocreate):
2798
2799 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
2800
2801 cookiedata = self.getCookie()
2802
2803 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
2804
2805 return obj(*new_args, **new_kwargs)
2806
2807 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
2808
2809 login_result = login_request.submit()
2810
2811 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
2812
2813 if not self._logged_in(code):
2814
2815 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
2816
2817 self.site._relogin()
2818
2819 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
2820
2821 self.login()
2822
2823 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
2824
2825 return obj(*__args, **__kw)
2826
2827 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
2828
2829 if login_manager.login(retry=True, autocreate=autocreate):
2830
2831 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
2832
2833 cookiedata = self.getCookie()
2834
2835 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
2836
2837 return obj(*new_args, **new_kwargs)
2838
2839 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
2840
2841 login_result = login_request.submit()
2842
2843 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
2844
2845 if not self._logged_in(code):
2846
2847 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
2848
2849 self.site._relogin()
2850
2851 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
2852
2853 self.login()
2854
2855 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
2856
2857 return obj(*__args, **__kw)
2858
2859 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
2860
2861 if login_manager.login(retry=True, autocreate=autocreate):
2862
2863 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
2864
2865 cookiedata = self.getCookie()
2866
2867 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
2868
2869 return obj(*new_args, **new_kwargs)
2870
2871 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
2872
2873 login_result = login_request.submit()
2874
2875 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
2876
2877 if not self._logged_in(code):
2878
2879 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
2880
2881 self.site._relogin()
2882
2883 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
2884
2885 self.login()
2886
2887 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
2888
2889 return obj(*__args, **__kw)
2890
2891 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
2892
2893 if login_manager.login(retry=True, autocreate=autocreate):
2894
2895 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
2896
2897 cookiedata = self.getCookie()
2898
2899 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
2900
2901 return obj(*new_args, **new_kwargs)
2902
2903 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
2904
2905 login_result = login_request.submit()
2906
2907 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
2908
2909 if not self._logged_in(code):
2910
2911 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
2912
2913 self.site._relogin()
2914
2915 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
2916
2917 self.login()
2918
2919 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
2920
2921 return obj(*__args, **__kw)
2922
2923 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
2924
2925 if login_manager.login(retry=True, autocreate=autocreate):
2926
2927 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
2928
2929 cookiedata = self.getCookie()
2930
2931 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
2932
2933 return obj(*new_args, **new_kwargs)
2934
2935 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3150, in getCookie
2936
2937 login_result = login_request.submit()
2938
2939 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1993, in submit
2940
2941 if not self._logged_in(code):
2942
2943 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1852, in _logged_in
2944
2945 self.site._relogin()
2946
2947 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2110, in _relogin
2948
2949 self.login()
2950
2951 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper
2952
2953 return obj(*__args, **__kw)
2954
2955 File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2090, in login
2956
2957 if login_manager.login(retry=True, autocreate=autocreate):
2958
2959 File "/home/travis/build/wikimedia/pywikibot/pywikibot/login.py", line 300, in login
2960
2961 cookiedata = self.getCookie()
2962
2963 File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1875, in wrapper
2964
2965 return obj(*new_args, **new_kwargs)
2966
2967 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3145, in getCookie
2968
2969 login_request[self.keyword('token')] = self.get_login_token()
2970
2971 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 3209, in get_login_token
2972
2973 login_token_result = login_token_request.submit()
2974
2975 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1962, in submit
2976
2977 paramstring)
2978
2979 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1738, in _http_request
2980
2981 self.wait()
2982
2983 File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 2087, in wait
2984
2985 raise TimeoutError('Maximum retries attempted without success.')
2986
2987TimeoutError: Maximum retries attempted without success.
2988
2989======================================================================

Any pair of eye to identify issues in this traceback are welcome. If you find a loop, please create a subtask for it :)

Change 583711 merged by jenkins-bot:
[pywikibot/core@master] [IMPR] Don't trust token from NeedToken response

https://gerrit.wikimedia.org/r/583711

Last endless loop issue should be caused by loop 1 or 2. I suspect there are more hidden loops and this needs to be investigated properly. I also suspect userinfo <-> _userinfo and user() <-> username() are switched in wrong places producing these loops.

Okay, still failing to get valid login token from zh:wikisource. No other wiki failing. Can we try to test different Wikisource? fr:ws? de:ws?

Adding back CPT and API tags, there are some news from proxy test about zh:wikisource session handling!

Where is this news? All I see is a giant paste showing pywikibot caught in some sort of loop. I see no MediaWiki requests/responses that claim to be showing incorrect behavior.

Okay, still failing to get valid login token from zh:wikisource. No other wiki failing. Can we try to test different Wikisource? fr:ws? de:ws?

Adding back CPT and API tags, there are some news from proxy test about zh:wikisource session handling!

Noting zhwikisource (and many other wikis) are using kask for session handing (643/943)...

'wgSessionCacheType' => [
        'default' => 'redis_local',  // declared in redis.php. This will change to kask-transition.
        'labswiki' => 'kask-session',
        'labtestwiki' => 'kask-session',
        'testwiki' => 'kask-session',
        'testwikidatawiki' => 'kask-session',
        'group0' => 'kask-session',
        'group1' => 'kask-session',
],

Does it work on non group0/group1 wikis? group1 contains nearly all wikisources, but not all

Where is this news? All I see is a giant paste showing pywikibot caught in some sort of loop. I see no MediaWiki requests/responses that claim to be showing incorrect behavior.

Sorry, still analyzing the proxy, screenshots will come

I was discussing this issue with @Dvorapa privately, and I've decided to try to run Pywikibot tests via a proxy which allows me to view the request and response in full (I've used mitmproxy). Those are raw data with necessary redactions.

image.png (943×1 px, 94 KB)

image.png (922×1 px, 127 KB)

image.png (897×1 px, 98 KB)

image.png (936×1 px, 139 KB)

Note: Those screenshots are from the middle of the loop, TLDR it seems MW doesn't accept session cookie passed by PWB, sends a new one, and when PWB passes it with the clientlogin request, tokens don't match (MW derrives the token from session) and badtoken error is thrown.

Question is: In which cases does MW force clients to change session?


I've also tried to look to what happens before PWB starts to fail. This is mitmproxy's main screen when the cyclus started.

image.png (953×1 px, 381 KB)

The POST from 13:25:43 is a logout request:

image.png (787×1 px, 92 KB)

MediaWiki then send Set-Cookie header that delets all session cookies, which sounds about right:

image.png (936×1 px, 121 KB)

However, this logout attempt becomes something like a sticky logout: MediaWiki starts to delete all received session cookies for some reason. For instance, the very next request after the logout request looks like this:

image.png (447×1 px, 73 KB)

MediaWiki then responds with:

image.png (943×1 px, 127 KB)

What makes me wonder is why does this request, which should come out after the logout succeeded, have centralauth_Session? It seems MediaWiki did delete this cookie after logout, but either MW should've deleted _both_ occurances of the cookie, or PWB (rather, requests library) should've deleted all matching cookies.

My current hypothesis is MediaWiki tries to refresh all session cookies if it spots one (in this case, the CentralAuth one) which is invalid. This could explain the cycle.

Where is this news? All I see is a giant paste showing pywikibot caught in some sort of loop. I see no MediaWiki requests/responses that claim to be showing incorrect behavior.

Sorry, I was writing my comment when Dvorapa commented. See above.

It's hard to copy-paste from screenshots... Hopefully the OCR doesn't mangle things too badly.

image.png (922×1 px, 127 KB)

In this response MediaWiki includes Set-Cookie headers resembling

Set-Cookie: zhwikisourceSession=deleted; expires,Thu, 01-3an-1970 00:00:01 GMT; Max-Aged; path=/; secure; HttpOnly 
Set-Cookie: forceHTTPS=deleted; expires,Thu, 01-Ian-1970 00:00:01 GMT; Max-Aged; path4; domainG.wikisource.org; HttpOnly 
Set-Cookie: forceHTTPS=deleted; expires,Thu, 01-Ian-1970 00:00:01 GMT; Max-Aged; path4; HttpOnly 
Set-Cookie: centralauth_User=deleted; expires,Thu, 01-Ian-1970 00:00:01 GMT; Max-Age=0; path4; domainG.wikisource.org; secure; HttpOnly 
Set-Cookie: centralauth TokenGdeleted; expires,Thu, 01-Ian-1970 00:00:01 GMT; Max-Age=0; path4; domainG.wikisource.org; secure; HttpOnly 
Set-Cookie: centralauth_SessionGdeleted; expires,Thu, 01-3an-1970 00:00:01 GMT; Max-Age=0; path4; domainG.wikisource.org; secure; HttpOnly 
Set-Cookie: zhwikisourceSessionG4aqnnbi ; path=/; secure; HttpOnly

image.png (897×1 px, 98 KB)

However in this request you're still sending the centralauth_User, centralauth_Token, and centralauth_Session cookies that you were instructed to delete.

That will cause MediaWiki to still attempt to use the specified CentralAuth session, which will fail because that session no longer exists. Hence the rejection of the token.

but either MW should've deleted _both_ occurances of the cookie,

What "both"?

My current hypothesis is MediaWiki tries to refresh all session cookies if it spots one (in this case, the CentralAuth one) which is invalid. This could explain the cycle.

That's a correct hypothesis. More specifically, it tries to load the CentralAuth session based on the supplied cookies, finds it invalid, and so produces Set-Cookie headers to tell the browser to delete the relevant cookies. Then (when applicable) it creates a new local session and sets the zhwikisourceSession cookie.

OK, to sum it up for Pywikibot people:

When you/Pywikibot interact with any wiki, you only have one centralauth session cookie. But when you visit wikisource.org after you visited *.wikisource.org (zh) (i.e. to check zh families in wikimedia farm), you end up with two centralauth session cookies for:

  • .wikisource.org
  • wikisource.org

91965594_587094738682996_8496885018885357568_n.png (944×1 px, 408 KB)

91397901_258223111986045_9210747779352100864_n.png (133×664 px, 7 KB)

py-requests processes this information somehow and sends both cookies, zh:wikisource processes this information somehow and picks one of them. So the communication continues somehow for a while between py-requests (Pywikibot) and zh:wikisource, with both cookies.

The issue starts when logout() occurs. It seems Pywikibot tries to logout from zh:wikisource when working with TokenWallet, perhaps it finds out there is some issue with login status in here.

image.png (953×1 px, 384 KB)

So Pywikibot sends logout request to zh:wikisource. zh:wikisource replies with cookie invalidation request for .wikisource.org. Which py-requests (Pywikibot) correctly does. But wikisource.org cookie still remains, no invalidation request came so far. Now py-requests starts to use wikisource.org cookie for zh:wikisource, which ends up in battle between zh:wikisource (invalid cookie!!) and py-requests (why?? [wikisource.org in url == True]). This makes Pywikibot find itself in endless loop trying to push login token he got from zh:wikisource and getting back badtoken response.

When you/Pywikibot interact with any wiki, you only have one centralauth session cookie. But when you visit wikisource.org after you visited *.wikisource.org (zh) (i.e. to check zh families in wikimedia farm), you end up with two centralauth session cookies for:

  • .wikisource.org
  • wikisource.org

Ah ha! That's described in more detail at T145545#2634528.

This behavior looks full of misunderstandings between all parties (ws, zhws, pwb, py-requests), but none of them behaves completely wrong imo. Now the questions is, what to fix and where in the whole process

( I'm so much glad @Urbanecm helped with his MITM/proxy analysis after I fixed some issues with Pywikibot login process and so much happy about this over 12 month old issue from pwb tests to be at least debunked! 🎉 )

In general, Wikimedia should probably figure out some way to reconfigure things so it doesn't wind up trying to set both cookies with domain=.wikisource.org and domainless cookies for wikisource.org. It's probably best to use T145545 to pursue that.

However, it looks like the cookie handling library used by pywikibot is also doing something wrong (at least according to the RFCs), as it should not send the host-only cookie for wikisource.org to zh.wikisource.org. If it's using RFC 2109, "zh.wikisource.org" does not domain-match the cookie for "wikisource.org" because "wikisource.org" doesn't begin with a dot. If it's using RFC 6265, the domainless cookie for "wikisource.org" should have had the host-only-flag set meaning it should not be sent to "zh.wikisource.org". OTOH, it's possible it's being bug-compatible with browsers (RFC 6265 even notes that such a bug exists/existed in some agents in § 4.1.2.3).

As far as pywikibot's tests, you might work around all this by avoiding logging in to both wikisource.org and a subdomain during the same test run, or explicitly logging out of wikisource.org after completing the tests against that site, or otherwise flushing cookies.

otherwise flushing cookies

Currently working on this. Anyway, thank you for your insight!

Change 585333 had a related patch set uploaded (by Dvorapa; owner: Dvorapa):
[pywikibot/core@master] [bugfix] Clear second level domain cookies after logout

https://gerrit.wikimedia.org/r/585333

Change 585522 had a related patch set uploaded (by Dvorapa; owner: Dvorapa):
[pywikibot/core@master] [bugfix] Logout also from second level domain if it is wiki

https://gerrit.wikimedia.org/r/585522

Change 585522 abandoned by Dvorapa:
[bugfix] Clear second level domain cookies after "badtoken" response

Reason:
Merged

https://gerrit.wikimedia.org/r/585522

After some other tests:
zh.wikisource.org API sometimes generates invalid new token (using action=query&meta=tokens). This token gives login response of NeedToken with another invalid token generated. This token gives login response of NeedToken with yet another invalid token generated. And so on...
After a couple of attempts I successfully reproduced it also using zh:ws API sandbox

I'm probably facing this same issue with MER-C's wiki-java client library. Most login actions succeed, a few of them fail with result=NeedToken. This framework also retrieves a login token via action=query&meta=tokens, the generated token (upon error response) is not used in any way thereafter.

My bot performs hundreds of login actions per week via BotPasswords. This problem showed up for me on Tuesday, 31st March.

You can read detailed explanation and several solutions for bot client/library and cookie handling client/library above. For Python there is perhaps an issue with basic cookie handling library, which we will overcome in Pywikibot with a simple yet effective workaround.

Change 585333 merged by jenkins-bot:
[pywikibot/core@master] [bugfix] Clear second level domain cookies after logout

https://gerrit.wikimedia.org/r/585333

Dvorapa lowered the priority of this task from High to Medium.Apr 5 2020, 8:59 AM
Dvorapa moved this task from CI test failures to Upstream issues on the Pywikibot-tests board.

From Pywikibot side this is resolved, no response yet from requests side and from Wikisouce side there are other tasks covering this topic

Dvorapa raised the priority of this task from Medium to Needs Triage.Apr 5 2020, 9:03 AM

@Anomie, do you want to keep this task open in some MW dashboard? (I feel like MW-API is incorrect in this case)

No need IMO. T145545 exists for the WMF side of things.

Dvorapa changed the task status from Open to Stalled.Apr 6 2020, 5:35 PM
Dvorapa triaged this task as Medium priority.
Dvorapa edited projects, added Upstream; removed MediaWiki-Action-API, Patch-For-Review.
Dvorapa changed the subtype of this task from "Task" to "Bug Report".

Workaround in Pywikibot set, waiting for both Wikisource and requests to resolve issue on their sides.

Dvorapa lowered the priority of this task from Medium to Low.Apr 6 2020, 5:36 PM
Dvorapa moved this task from Backlog to Reported Upstream on the Upstream board.

Change 513555 abandoned by Xqt:
[login] Do not attempt to login over and over again

Reason:
Seems mainly solved

https://gerrit.wikimedia.org/r/513555

Xqt changed the task status from Stalled to Open.Oct 19 2020, 6:20 AM

Still valid

Change 663573 had a related patch set uploaded (by Xqt; owner: Xqt):
[pywikibot/core@master] [bugfix] Do not attemp to login over and over again

https://gerrit.wikimedia.org/r/663573

Change 663573 merged by jenkins-bot:
[pywikibot/core@master] [bugfix] Do not attemp to login over and over again

https://gerrit.wikimedia.org/r/663573

Xqt claimed this task.