[issue7977] I found Python 3.1 xmlrpc lib use param not properly. and i have fixed it.

2010-03-20 Thread Jelly Chen

Jelly Chen sinoje...@gmail.com added the comment:

I know why those two tests run failed, and I found another way to solve the
problem, do not make the existing tests broken, and at the same time I have
added another test case.
I encountered this problem due to a argument is already being a tuple but
re-packaged into another tuple, It appears a high probability. Maybe modify
the client.py according to this patch is a solution.

2010/2/22 Florent Xicluna rep...@bugs.python.org


 Florent Xicluna la...@yahoo.fr added the comment:

 Attached, the output of the test with -v test_xmlrpc.

 --
 Added file: http://bugs.python.org/file16308/issue7977_test_xmlrpc.log

 ___
 Python tracker rep...@bugs.python.org
 http://bugs.python.org/issue7977
 ___


--
Added file: http://bugs.python.org/file16597/unnamed
Added file: http://bugs.python.org/file16598/dir.patch

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue7977
___divspan class=Apple-style-span style=font-family: Arial, sans-serif; 
font-size: 13px; line-height: 22px; span 
title=我知道为什么那两个用例运行失败了,并且我找到了另外一个办法去解决问题,不会使得已有的用例运行不过,同时我补充了一个用例。I
 know why those two tests run failed, and I found another way to solve the 
problem, do not make the existing tests broken, and at the same time I have 
added another test case.br
/spanspan 
title=我遇到的问题,是由于已经是一个tuple的参数,被再次封装成一个tuple。I
 encountered this problem due to a argument is already being a tuple but 
re-packaged into another tuple, It appears a high probability. Maybe modify the 
client.py according to this patch is a solution./span/spanbr
brdiv class=gmail_quote2010/2/22 Florent Xicluna span dir=ltrlt;a 
href=mailto:rep...@bugs.python.org;rep...@bugs.python.org/agt;/spanbrblockquote
 class=gmail_quote style=margin:0 0 0 .8ex;border-left:1px #ccc 
solid;padding-left:1ex;
br
Florent Xicluna lt;a href=mailto:la...@yahoo.fr;la...@yahoo.fr/agt; 
added the comment:br
br
Attached, the output of the test with quot;-v test_xmlrpcquot;.br
br
--br
Added file: a 
href=http://bugs.python.org/file16308/issue7977_test_xmlrpc.log; 
target=_blankhttp://bugs.python.org/file16308/issue7977_test_xmlrpc.log/abr
divdiv/divdiv class=h5br
___br
Python tracker lt;a 
href=mailto:rep...@bugs.python.org;rep...@bugs.python.org/agt;br
lt;a href=http://bugs.python.org/issue7977; 
target=_blankhttp://bugs.python.org/issue7977/agt;br
___br
/div/div/blockquote/divbrbr clear=allbr-- brContact me: 
nbsp;brQQ: 2578717brMSN: a 
href=mailto:sinoje...@msn.cn;sinoje...@msn.cn/abr新浪微博:a 
href=http://t.sina.com.cn/sinojelly;http://t.sina.com.cn/sinojelly/abr
我的博客:a 
href=http://sinojelly.20x.cc;http://sinojelly.20x.cc/abrbrbr
/div
diff -Nur old\test\test_xmlrpc.py new\test\test_xmlrpc.py
--- old\test\test_xmlrpc.py Thu Aug 13 18:30:32 2009
+++ new\test\test_xmlrpc.py Sat Mar 20 19:39:48 2010
@@ -478,6 +478,14 @@
 # This avoids waiting for the socket timeout.
 self.test_simple1()
 
+def test_call_with_tuple_param(self):
+def execute(server, methodname, *args):
+r = getattr(server, methodname)(args) # params become a tuple
+return r
+p = xmlrpclib.ServerProxy(URL)
+r = execute(p, add, 4,7)
+self.assertEqual(r, 11)
+
 # This is a contrived way to make a failure occur on the server side
 # in order to test the _send_traceback_header flag on the server
 class FailingMessageClass(http.client.HTTPMessage):
diff -Nur old\xmlrpc\client.py new\xmlrpc\client.py
--- old\xmlrpc\client.pyThu Jun 04 17:11:52 2009
+++ new\xmlrpc\client.pySat Mar 20 19:41:03 2010
@@ -49,6 +49,7 @@
 # 2003-07-12 gp  Correct marshalling of Faults
 # 2003-10-31 mvl Add multicall support
 # 2004-08-20 mvl Bump minimum supported Python version to 2.1
+# 2010-03-20 cgd Avoid to make a tuple to be another tuple(Chenguodong 
email:sinoje...@gmail.com)
 #
 # Copyright (c) 1999-2002 by Secret Labs AB.
 # Copyright (c) 1999-2002 by Fredrik Lundh.
@@ -1026,6 +1027,9 @@
 def __getattr__(self, name):
 return _Method(self.__send, %s.%s % (self.__name, name))
 def __call__(self, *args):
+# Fixed by sinojelly: if args[0] is a tuple, should not make it to be 
another tuple.
+if len(args) == 1 and type(args[0]) is type(()):
+args = args[0]
 return self.__send(self.__name, args)
 
 ##
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue7977] I found Python 3.1 xmlrpc lib use param not properly. and i have fixed it.

2010-02-22 Thread Jelly Chen

Jelly Chen sinoje...@gmail.com added the comment:

I can't modify the issue. so i replay this email.
The old xmlrpc lib don't use param surround a param. please take a look at
wrong.xml and right.xml.

2010/2/22 Mark Dickinson rep...@bugs.python.org


 Mark Dickinson dicki...@gmail.com added the comment:

 Please could you generate and upload a patch against the Python source?
  (For Windows, you can do this using the WinMerge tool, amongst others.)
  I'm unable to open the file you attached on my machine:

 No application knows how to open ... xmlrpc.client.modify.rar.

 If you could explain how param is being used improperly, that might
 also help.

 --
 nosy: +mark.dickinson

 ___
 Python tracker rep...@bugs.python.org
 http://bugs.python.org/issue7977
 ___


--
keywords: +patch
Added file: http://bugs.python.org/file16292/unnamed
Added file: http://bugs.python.org/file16293/xmlrpc.patch
Added file: http://bugs.python.org/file16294/wrong.xml
Added file: http://bugs.python.org/file16295/right.xml

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue7977
___I can#39;t modify the issue. so i replay this email.divThe old xmlrpc lib 
don#39;t use lt;paramgt;nbsp;surround a param. please take a look at 
wrong.xml and right.xml.brbrdiv class=gmail_quote2010/2/22 Mark 
Dickinson span dir=ltrlt;a 
href=mailto:rep...@bugs.python.org;rep...@bugs.python.org/agt;/spanbr
blockquote class=gmail_quote style=margin:0 0 0 .8ex;border-left:1px #ccc 
solid;padding-left:1ex;br
Mark Dickinson lt;a 
href=mailto:dicki...@gmail.com;dicki...@gmail.com/agt; added the 
comment:br
br
Please could you generate and upload a patch against the Python source? 
nbsp;(For Windows, you can do this using the WinMerge tool, amongst others.) 
nbsp;I#39;m unable to open the file you attached on my machine:br
br
quot;quot;quot;No application knows how to open ... 
xmlrpc.client.modify.rar.quot;quot;quot;br
br
If you could explain how quot;lt;paramgt;quot; is being used improperly, 
that might also help.br
br
--br
nosy: +mark.dickinsonbr
divdiv/divdiv class=h5br
___br
Python tracker lt;a 
href=mailto:rep...@bugs.python.org;rep...@bugs.python.org/agt;br
lt;a href=http://bugs.python.org/issue7977; 
target=_blankhttp://bugs.python.org/issue7977/agt;br
___br
/div/div/blockquote/divbrbr clear=allbr-- brContact me: 
nbsp;brQQ: 2578717brMSN: a 
href=mailto:sinoje...@msn.cn;sinoje...@msn.cn/abr新浪微博:a 
href=http://t.sina.com.cn/sinojelly;http://t.sina.com.cn/sinojelly/abr
我的博客:a 
href=http://sinojelly.20x.cc;http://sinojelly.20x.cc/abrbrbr
/div
diff -Nur xmlrpc\client.py modify\xmlrpc\client.py
--- xmlrpc\client.pyThu Jun 04 17:11:52 2009
+++ modify\xmlrpc\client.py Mon Feb 22 19:13:37 2010
@@ -49,6 +49,7 @@
 # 2003-07-12 gp  Correct marshalling of Faults
 # 2003-10-31 mvl Add multicall support
 # 2004-08-20 mvl Bump minimum supported Python version to 2.1
+# 2010-02-22 cgd Reorganize xmlrpc request message format (Chenguodong 
email:sinoje...@gmail.com)
 #
 # Copyright (c) 1999-2002 by Secret Labs AB.
 # Copyright (c) 1999-2002 by Fredrik Lundh.
@@ -508,9 +509,7 @@
 # is for now.  See @XMLRPC3 for more information. /F
 write(params\n)
 for v in values:
-write(param\n)
 dump(v, write)
-write(/param\n)
 write(/params\n)
 result = .join(out)
 return result
@@ -588,13 +587,25 @@
 raise TypeError(cannot marshal recursive sequences)
 self.memo[i] = None
 dump = self.__dump
+for v in value:
+write(param\n)
+dump(v, write)
+write(/param\n)
+del self.memo[i]
+dispatch[tuple] = dump_array
+
+def dump_list(self, value, write):
+i = id(value)
+if i in self.memo:
+raise TypeError(cannot marshal recursive sequences)
+self.memo[i] = None
+dump = self.__dump
 write(valuearraydata\n)
 for v in value:
 dump(v, write)
 write(/data/array/value\n)
 del self.memo[i]
-dispatch[tuple] = dump_array
-dispatch[list] = dump_array
+dispatch[list] = dump_list
 
 def dump_struct(self, value, write, escape=escape):
 i = id(value)
?xml version='1.0'?
methodCall
methodNamemetaWeblog.newPost/methodName
params
param
valuedata
valueint1/int/value
valuestringsinojelly/string/value
valuestring123456/string/value
valuestruct
member
namedescription/name
valuestringTest description4/string/value
/member
member
nametitle/name
valuestringTest article3/string/value
/member
/struct/value
valueboolean1/boolean/value
/data/value
/param
/params
/methodCall
?xml version=1.0 encoding=gb2312?
methodCall

[issue7977] I found Python 3.1 xmlrpc lib use param not properly. and i have fixed it.

2010-02-22 Thread Jelly Chen

Jelly Chen sinoje...@gmail.com added the comment:

Can i have a look at the failure tests?
I just check out code at http://svn.python.org/projects/python/branches/py3k
It's very slow. and i'm afraid that i don't know how to run the tests.

The param tag use improperly is very clear.

the wrong case: very ugly, there is no difference between param and
params.
params
param
valuedata
valueint1/int/value
valuestringsinojelly/string/value
valuestring123456/string/value
valuestruct
member
namedescription/name
valuestringTest description4/string/value
/member
member
nametitle/name
valuestringTest article3/string/value
/member
/struct/value
valueboolean1/boolean/value
/data/value
/param
/params

the right one: there is a param around every parameter.
 params
  param
   value
string479153/string
   /value
  /param
  param
   value
stringsinojelly/string
   /value
  /param
  param
   value
string123456/string
   /value
  /param
  param
   value
struct
 member
  nametitle/name
  value
   stringJust Test./string
  /value
 /member
 member
  namedescription/name
  value
   stringlt;pgt;Just Test wlw post.lt;/pgt;/string
  /value
 /member
 member
  namecategories/name
  value
   array
data /
   /array
  /value
 /member
/struct
   /value
  /param
  param
   value
boolean1/boolean
   /value
  /param
 /params

2010/2/22 Florent Xicluna rep...@bugs.python.org


 Florent Xicluna la...@yahoo.fr added the comment:

 The patch causes failures in test_xmlrpc, using Py3k branch.

 --
 nosy: +flox
 priority:  - normal
 stage:  - test needed
 versions: +Python 3.2

 ___
 Python tracker rep...@bugs.python.org
 http://bugs.python.org/issue7977
 ___


--
Added file: http://bugs.python.org/file16303/unnamed

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue7977
___Can i have a look at the failure tests?divI just check out code 
atnbsp;span class=Apple-style-span style=font-family: Arial, Verdana, 
Geneva, #39;Bitstream Vera Sans#39;, Helvetica, sans-serif; font-size: 15px; 
line-height: 17px; -webkit-border-horizontal-spacing: 2px; 
-webkit-border-vertical-spacing: 2px; a class=reference external 
href=http://svn.python.org/projects/python/branches/py3k; style=color: rgb(0, 
0, 170); text-decoration: none; 
http://svn.python.org/projects/python/branches/py3k/a/spanbr
It#39;s very slow. and i#39;m afraid that i don#39;t know how to run the 
tests./divdivbr/divdivThe lt;paramgt; tag use improperly is very 
clear./divdivbr/divdivthe wrong case: very ugly, there is no 
difference between lt;paramgt; and lt;paramsgt;./div
divdivlt;paramsgt;/divdivlt;paramgt;/divdivlt;valuegt;lt;datagt;/divdivlt;valuegt;lt;intgt;1lt;/intgt;lt;/valuegt;/divdivlt;valuegt;lt;stringgt;sinojellylt;/stringgt;lt;/valuegt;/div
divlt;valuegt;lt;stringgt;123456lt;/stringgt;lt;/valuegt;/divdivlt;valuegt;lt;structgt;/divdivlt;membergt;/divdivlt;namegt;descriptionlt;/namegt;/divdivlt;valuegt;lt;stringgt;Test
 description4lt;/stringgt;lt;/valuegt;/div
divlt;/membergt;/divdivlt;membergt;/divdivlt;namegt;titlelt;/namegt;/divdivlt;valuegt;lt;stringgt;Test
 
article3lt;/stringgt;lt;/valuegt;/divdivlt;/membergt;/divdivlt;/structgt;lt;/valuegt;/div
divlt;valuegt;lt;booleangt;1lt;/booleangt;lt;/valuegt;/divdivlt;/datagt;lt;/valuegt;/divdivlt;/paramgt;/divdivlt;/paramsgt;/div/divdivbr/divdivthe
 right one: there is a lt;paramgt; around every parameter./div
divdivnbsp;lt;paramsgt;/divdivnbsp;nbsp;lt;paramgt;/divdivnbsp;nbsp;
 lt;valuegt;/divdivnbsp;nbsp; 
nbsp;lt;stringgt;479153lt;/stringgt;/divdivnbsp;nbsp; 
lt;/valuegt;/divdivnbsp;nbsp;lt;/paramgt;/divdivnbsp;nbsp;lt;paramgt;/divdivnbsp;nbsp;
 lt;valuegt;/div
divnbsp;nbsp; 
nbsp;lt;stringgt;sinojellylt;/stringgt;/divdivnbsp;nbsp; 
lt;/valuegt;/divdivnbsp;nbsp;lt;/paramgt;/divdivnbsp;nbsp;lt;paramgt;/divdivnbsp;nbsp;
 lt;valuegt;/divdivnbsp;nbsp; 
nbsp;lt;stringgt;123456lt;/stringgt;/divdivnbsp;nbsp; 
lt;/valuegt;/div
divnbsp;nbsp;lt;/paramgt;/divdivnbsp;nbsp;lt;paramgt;/divdivnbsp;nbsp;
 lt;valuegt;/divdivnbsp;nbsp; 
nbsp;lt;structgt;/divdivnbsp;nbsp; nbsp; 
lt;membergt;/divdivnbsp;nbsp; nbsp; 
nbsp;lt;namegt;titlelt;/namegt;/divdivnbsp;nbsp; nbsp; 
nbsp;lt;valuegt;/divdiv
nbsp;nbsp; nbsp; nbsp; lt;stringgt;Just 
Test.lt;/stringgt;/divdivnbsp;nbsp; nbsp; 
nbsp;lt;/valuegt;/divdivnbsp;nbsp; nbsp; 
lt;/membergt;/divdivnbsp;nbsp; nbsp; 
lt;membergt;/divdivnbsp;nbsp; nbsp; 
nbsp;lt;namegt;descriptionlt;/namegt;/divdivnbsp;nbsp; nbsp; 
nbsp;lt;valuegt;/div
divnbsp;nbsp; nbsp; nbsp; lt;stringgt;amp;lt;pamp;gt;Just Test wlw 
post.amp;lt;/pamp;gt;lt;/stringgt;/divdivnbsp;nbsp; nbsp; 
nbsp;lt;/valuegt;/divdivnbsp;nbsp; nbsp; 
lt;/membergt;/divdivnbsp;nbsp; nbsp; 
lt;membergt;/divdivnbsp;nbsp; nbsp; 
nbsp;lt;namegt;categorieslt;/namegt;/div
divnbsp

[issue7986] Python 3 cannot recognize url like: https://sinojellycn:123...@storage.msn.com

2010-02-22 Thread Jelly Chen

New submission from Jelly Chen sinoje...@gmail.com:

posturl='https://sinojellycn:123...@storage.msn.com/storageservice/MetaWeblog.rpc'
username=sinojellycn
password=123456

blog = pyblog.WordPress(posturl, username, password)
content = {description:'Test description6', title:'Test article6'}
blog.new_post(content, blogid = 1) 

 
Traceback (most recent call last):
  File C:\Python31\Lib\http\client.py, line 664, in _set_hostport
port = int(host[i+1:])
ValueError: invalid literal for int() with base 10: '123...@storage.msn.com'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File string, line 248, in run_nodebug
  File D:\Users\Documents\My 
Knowledge\Plugins\{A0D025CD-970A-4C62-97E4-5CF6F2C9DD6A}\BlogPost.py, line 
384, in module
blog = pyblog.WordPress(posturl, username, password)
  File D:\Users\Documents\My 
Knowledge\Plugins\{A0D025CD-970A-4C62-97E4-5CF6F2C9DD6A}\pyblog.py, line 266, 
in __init__
MetaWeblog.__init__(self, serverapi, username, password, encoding)
  File D:\Users\Documents\My 
Knowledge\Plugins\{A0D025CD-970A-4C62-97E4-5CF6F2C9DD6A}\pyblog.py, line 167, 
in __init__
Blog.__init__(self, serverapi, username, password, encoding, appkey)
  File D:\Users\Documents\My 
Knowledge\Plugins\{A0D025CD-970A-4C62-97E4-5CF6F2C9DD6A}\pyblog.py, line 57, 
in __init__
if not checkURL(serverapi):
  File D:\Users\Documents\My 
Knowledge\Plugins\{A0D025CD-970A-4C62-97E4-5CF6F2C9DD6A}\pyblog.py, line 19, 
in checkURL
try: urllib.request.urlopen(url)
  File C:\Python31\Lib\urllib\request.py, line 119, in urlopen
return _opener.open(url, data, timeout)
  File C:\Python31\Lib\urllib\request.py, line 347, in open
response = self._open(req, data)
  File C:\Python31\Lib\urllib\request.py, line 365, in _open
'_open', req)
  File C:\Python31\Lib\urllib\request.py, line 325, in _call_chain
result = func(*args)
  File C:\Python31\Lib\urllib\request.py, line 1080, in https_open
return self.do_open(http.client.HTTPSConnection, req)
  File C:\Python31\Lib\urllib\request.py, line 1034, in do_open
h = http_class(host, timeout=req.timeout) # will parse host:port
  File C:\Python31\Lib\http\client.py, line 1027, in __init__
HTTPConnection.__init__(self, host, port, strict, timeout)
  File C:\Python31\Lib\http\client.py, line 650, in __init__
self._set_hostport(host, port)
  File C:\Python31\Lib\http\client.py, line 666, in _set_hostport
raise InvalidURL(nonnumeric port: '%s' % host[i+1:])
http.client.InvalidURL: nonnumeric port: '123...@storage.msn.com'


--
components: Library (Lib)
messages: 99760
nosy: Jelly.Chen
severity: normal
status: open
title: Python 3 cannot recognize url like: 
https://sinojellycn:123...@storage.msn.com
type: behavior
versions: Python 3.1

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue7986
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue7987] Python 3.1's http.client doesn't support HTTPS

2010-02-22 Thread Jelly Chen

New submission from Jelly Chen sinoje...@gmail.com:

posturl='https://storage.msn.com/storageservice/MetaWeblog.rpc'
username=sinojellycn
password=123456

blog = pyblog.WordPress(posturl, username, password)
content = {description:'Test description6', title:'Test article6'}
blog.new_post(content, blogid = 1) 

Traceback (most recent call last):
  File string, line 248, in run_nodebug
  File D:\Users\Documents\My 
Knowledge\Plugins\{A0D025CD-970A-4C62-97E4-5CF6F2C9DD6A}\BlogPost.py, line 
385, in module
blog = pyblog.WordPress(posturl, username, password)
  File D:\Users\Documents\My 
Knowledge\Plugins\{A0D025CD-970A-4C62-97E4-5CF6F2C9DD6A}\pyblog.py, line 266, 
in __init__
MetaWeblog.__init__(self, serverapi, username, password, encoding)
  File D:\Users\Documents\My 
Knowledge\Plugins\{A0D025CD-970A-4C62-97E4-5CF6F2C9DD6A}\pyblog.py, line 167, 
in __init__
Blog.__init__(self, serverapi, username, password, encoding, appkey)
  File D:\Users\Documents\My 
Knowledge\Plugins\{A0D025CD-970A-4C62-97E4-5CF6F2C9DD6A}\pyblog.py, line 63, 
in __init__
self.list_methods2()
  File D:\Users\Documents\My 
Knowledge\Plugins\{A0D025CD-970A-4C62-97E4-5CF6F2C9DD6A}\pyblog.py, line 87, 
in list_methods2
self.methods = self.server.system.listMethods()
  File C:\Python31\Lib\xmlrpc\client.py, line 1039, in __call__
return self.__send(self.__name, args)
  File C:\Python31\Lib\xmlrpc\client.py, line 1281, in __request
verbose=self.__verbose
  File C:\Python31\Lib\xmlrpc\client.py, line 1068, in request
http_conn = self.send_request(host, handler, request_body, verbose)
  File C:\Python31\Lib\xmlrpc\client.py, line 1193, in send_request
your version of http.client doesn't support HTTPS)
NotImplementedError: your version of http.client doesn't support HTTPS


--
components: Library (Lib)
messages: 99765
nosy: Jelly.Chen
severity: normal
status: open
title: Python 3.1's http.client doesn't support HTTPS
type: behavior
versions: Python 3.1

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue7987
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com