Bugs item #2908381, was opened at 2009-12-03 16:05
Message generated for change (Comment added) made by andreasjs
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=603138&aid=290838…
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Open
Resolution: Fixed
Priority: 9
Private: No
Submitted By: Mauro (mauro742)
Assigned to: Nobody/Anonymous (nobody)
Summary: Reopen #2901213: login.py fails (sound an API problem)
Initial Comment:
Pywikipedia [http] trunk/pywikipedia (r7731, 2009/12/03, 18:28:57)
Python 2.5.2 (r252:60911, Jan 4 2009, 21:59:32)
[GCC 4.3.2]
When I try to edit a page I 've this error:
Updating page [[..page..]] via API
Edit token has failed. Retrying.
Getting a token.
Sleeping for 9.0 seconds, 2009-12-03 21:33:35
Updating page [[..page..]] via API
Password for user Bot on wikipedia:it: Traceback (most recent call last):
File "myscript", line 430, in
main()
File "...", line 335, in main
LP_database[timestamps[i]].MakeLogTable()
File "script", line 533, in MakeLogTable
page.put(pagetxt, action)
File "wikipedia.py", line 1595, in put
sysop = self._getActionUser(action = 'edit', restriction =
self.editRestriction, sysop = sysop)
File "wikipedia.py", line 1468, in _getActionUser
self.site().forceLogin(sysop = sysop)
File "wikipedia.py", line 5265, in forceLogin
if loginMan.login(retry = True):
File "login.py", line 272, in login
self.password = wikipedia.input(u'Password for user %s on %s:' %
(self.username, self.site), password = True)
File "wikipedia.py", line 8188, in input
data = ui.input(question, password)
File "terminal_interface.py", line 238, in input
text = getpass.getpass('')
File "/usr/lib/python2.5/getpass.py", line 32, in unix_getpass
old = termios.tcgetattr(fd) # a copy to save
termios.error: (22, 'Invalid argument')
If I recall login.py:
Result: 411 Length Required
Traceback (most recent call last):
File "login.py", line 397, in <module>
main()
File "login.py", line 393, in main
loginMan.login()
File "login.py", line 282, in login
cookiedata = self.getCookie(api)
File "login.py", line 170, in getCookie
response, data = self.site.postData(address, self.site.urlEncode(predata),
sysop=self.sysop)
File "/home/mauro742/MauroBot/wikipedia.py", line 5606, in postData
f = MyURLopener.open(request)
File "/usr/lib/python2.5/urllib2.py", line 387, in open
response = meth(req, response)
File "/usr/lib/python2.5/urllib2.py", line 498, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python2.5/urllib2.py", line 419, in error
result = self._call_chain(*args)
File "/usr/lib/python2.5/urllib2.py", line 360, in _call_chain
result = func(*args)
File "/home/mauro742/MauroBot/wikipedia.py", line 8421, in http_error_302
self, req, fp, code, msg, headers)
File "/usr/lib/python2.5/urllib2.py", line 582, in http_error_302
return self.parent.open(new)
File "/usr/lib/python2.5/urllib2.py", line 387, in open
response = meth(req, response)
File "/usr/lib/python2.5/urllib2.py", line 498, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python2.5/urllib2.py", line 425, in error
return self._call_chain(*args)
File "/usr/lib/python2.5/urllib2.py", line 360, in _call_chain
result = func(*args)
File "/usr/lib/python2.5/urllib2.py", line 506, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 411: Length Required
----------------------------------------------------------------------
Comment By: AndreasJS (andreasjs)
Date:
2009-12-26 13:00
Message:
This is basically a server error: The server issues HTTP statys code 411
for a GET request if a Content-length header is included (this is not what
status code 411 means according to rfc2616). See patch 2921525 for a fix.
----------------------------------------------------------------------
Comment By: AndreasJS (andreasjs)
Date: 2009-12-03 20:15
Message:
Here is some more testing with temporary lines added to wikipedia.py:
andreas-schwabs-computer:pywikipedia andreas$ svn diff wikipedia.py
Index: wikipedia.py
===================================================================
--- wikipedia.py (revision 7710)
+++ wikipedia.py (working copy)
@@ -5500,6 +5500,9 @@
while True:
try:
request = urllib2.Request(url, data, headers)
+ print url
+ print data
+ print headers
f = MyURLopener.open(request)
# read & info can raise socket.error
@@ -8287,6 +8290,7 @@
return result
def http_error_302(self, req, fp, code, msg, headers):
+ print self, req, fp, code, msg, headers
result = urllib2.HTTPRedirectHandler.http_error_302(
self, req, fp, code, msg, headers)
result.code = code
andreas-schwabs-computer:pywikipedia andreas$ python login.py -v -v
-pass:????
Pywikipediabot [http] trunk/pywikipedia (r7710, 2009/11/28, 22:35:07)
Python 2.5.2 (r252:60911, Feb 22 2008, 07:57:53)
[GCC 4.0.1 (Apple Computer, Inc. build 5363)]
WARNING: Using -v -v on login.py might leak private data. When sharing,
please double check your password is not readable and log out your bots
session.
Logging in to wikisource:el as AndreasBot
http://el.wikisource.org/w/index.php?title=%CE%95%CE%B9%CE%B4%CE%B9%CE%BA%C…
wpPassword=????&wpLoginattempt=Aanmelden%20%26%20Inschrijven&wpName=AndreasBot&wpRemember=1&wpSkipCookieCheck=1
{'Content-Length': '108', 'Content-type':
'application/x-www-form-urlencoded', 'Accept-encoding': 'gzip',
'User-agent': 'PythonWikipediaBot/1.0'}
<wikipedia.U2RedirectHandler instance at 0xfb4d78> <urllib2.Request
instance at 0xfc2508> <addinfourl at 16501616 whose fp =
<socket._fileobject object at 0xfbdb30>> 302 Moved Temporarily Date: Fri,
04 Dec 2009 01:07:20 GMT
Server: Apache
Cache-Control: private, s-maxage=0, max-age=0, must-revalidate
Set-Cookie: elwikisource_session=58328cf207535d693672ab72bedfb195; path=/;
HttpOnly
Set-Cookie: elwikisourceUserID=65; expires=Sun, 03-Jan-2010 01:07:20 GMT;
path=/; httponly
Set-Cookie: elwikisourceUserName=AndreasBot; expires=Sun, 03-Jan-2010
01:07:20 GMT; path=/; httponly
Set-Cookie: elwikisourceToken=571b5ee57ec693b6987ebaf81c66231a;
expires=Sun, 03-Jan-2010 01:07:20 GMT; path=/; httponly
Vary: Accept-Encoding,Cookie
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Location:
http://el.wikisource.org/wiki/%CE%9A%CF%8D%CF%81%CE%B9%CE%B1_%CE%A3%CE%B5%C…
Content-Encoding: gzip
Content-Length: 20
Content-Type: text/html; charset=utf-8
X-Cache: MISS from
sq27.wikimedia.org
X-Cache-Lookup: MISS from sq27.wikimedia.org:3128
X-Cache: MISS from
sq31.wikimedia.org
X-Cache-Lookup: MISS from sq31.wikimedia.org:80
Connection: close
Result: 411 Length Required
Traceback (most recent call last):
File "login.py", line 397, in <module>
main()
File "login.py", line 393, in main
loginMan.login()
File "login.py", line 282, in login
cookiedata = self.getCookie(api)
File "login.py", line 170, in getCookie
response, data = self.site.postData(address,
self.site.urlEncode(predata), sysop=self.sysop)
File "/Users/andreas/Desktop/WP/pywikipedia/wikipedia.py", line 5506, in
postData
f = MyURLopener.open(request)
File
"/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/urllib2.py",
line 387, in open
response = meth(req, response)
File
"/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/urllib2.py",
line 498, in http_response
'http', request, response, code, msg, hdrs)
File
"/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/urllib2.py",
line 419, in error
result = self._call_chain(*args)
File
"/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/urllib2.py",
line 360, in _call_chain
result = func(*args)
File "/Users/andreas/Desktop/WP/pywikipedia/wikipedia.py", line 8295, in
http_error_302
self, req, fp, code, msg, headers)
File
"/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/urllib2.py",
line 582, in http_error_302
return self.parent.open(new)
File
"/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/urllib2.py",
line 387, in open
response = meth(req, response)
File
"/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/urllib2.py",
line 498, in http_response
'http', request, response, code, msg, hdrs)
File
"/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/urllib2.py",
line 425, in error
return self._call_chain(*args)
File
"/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/urllib2.py",
line 360, in _call_chain
result = func(*args)
File
"/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/urllib2.py",
line 506, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 411: Length Required
andreas-schwabs-computer:pywikipedia andreas$
----------------------------------------------------------------------
Comment By: AndreasJS (andreasjs)
Date: 2009-12-03 19:26
Message:
This error occurs with certain user names, and not with others. For
example, in Greek Wikisource, the user:AndreasBot gets this error, but not
user:AndreasJS. Changing the password makes no difference. I would send my
password to a developer who wants to debug this.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=603138&aid=290838…