Bugs item #2908381, was opened at 2009-12-03 22:05 Message generated for change (Comment added) made by xqt You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=603138&aid=2908381...
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: Closed
Resolution: Fixed Priority: 9 Private: No Submitted By: Mauro (mauro742)
Assigned to: xqt (xqt)
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: xqt (xqt)
Date: 2009-12-27 18:10
Message: patch #2921525 added in r7830. Thanks a lot, andreasjs!
----------------------------------------------------------------------
Comment By: AndreasJS (andreasjs) Date: 2009-12-26 19: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-04 02: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%CF... 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%CE... 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-04 01: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=2908381...
pywikipedia-bugs@lists.wikimedia.org