You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by Gordon Sim <gs...@redhat.com> on 2015/05/01 11:25:45 UTC

Re: Review Request 33691: Python 3 support

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/33691/#review82239
-----------------------------------------------------------

Ship it!



proton-c/bindings/python/proton/utils.py
<https://reviews.apache.org/r/33691/#comment132937>

    Is this no longer needed? Even for 2.x?


- Gordon Sim


On April 29, 2015, 7:50 p.m., Kenneth Giusti wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/33691/
> -----------------------------------------------------------
> 
> (Updated April 29, 2015, 7:50 p.m.)
> 
> 
> Review request for qpid.
> 
> 
> Bugs: PROTON-490
>     https://issues.apache.org/jira/browse/PROTON-490
> 
> 
> Repository: qpid-proton-git
> 
> 
> Description
> -------
> 
> Add support for python3.x.  Based on the original work done by Mickael Maison and Dominic Evans.
> 
> 
> Diffs
> -----
> 
>   examples/python/abstract_server.py 2d0de32 
>   examples/python/client.py a116175 
>   examples/python/client_http.py cd0d63f 
>   examples/python/db_common.py 85f8191 
>   examples/python/db_ctrl.py b28e0eb 
>   examples/python/db_recv.py d8dd7bc 
>   examples/python/db_send.py 6464fa6 
>   examples/python/direct_recv.py 92f712c 
>   examples/python/direct_send.py 0bfad17 
>   examples/python/helloworld.py d741f5e 
>   examples/python/helloworld_blocking.py 62b6105 
>   examples/python/helloworld_direct.py 2ad78a7 
>   examples/python/helloworld_direct_tornado.py 2466f80 
>   examples/python/helloworld_tornado.py d4b32cf 
>   examples/python/messenger/async.py 14fc4c9 
>   examples/python/messenger/client.py 3146e45 
>   examples/python/messenger/recv.py e19ddad 
>   examples/python/messenger/recv_async.py ba4f063 
>   examples/python/messenger/send.py 139f6e8 
>   examples/python/messenger/send_async.py 304aceb 
>   examples/python/messenger/server.py 01196be 
>   examples/python/proton_server.py b92261c 
>   examples/python/queue_browser.py ad4d393 
>   examples/python/reactor/cat.py 57f4515 
>   examples/python/reactor/count-randomly.py d9a32c6 
>   examples/python/reactor/counter.py 1ef45f0 
>   examples/python/reactor/delegates.py 813ceba 
>   examples/python/reactor/echo.py 4675f5d 
>   examples/python/reactor/global-logger.py bc3bc56 
>   examples/python/reactor/goodbye-world.py 44bcf7c 
>   examples/python/reactor/handlers.py ed3a94d 
>   examples/python/reactor/hello-world.py c685c73 
>   examples/python/reactor/reactor-logger.py c07e9b9 
>   examples/python/reactor/recv.py aa56472 
>   examples/python/reactor/scheduling.py f822f68 
>   examples/python/reactor/tornado-hello-world.py fa8ca83 
>   examples/python/reactor/unhandled.py 3734a71 
>   examples/python/recurring_timer.py a39791d 
>   examples/python/recurring_timer_tornado.py 1f1c0e7 
>   examples/python/selected_recv.py 351d4ef 
>   examples/python/server.py 62aa162 
>   examples/python/server_direct.py 18a20f3 
>   examples/python/server_tx.py 96b83cb 
>   examples/python/simple_recv.py abe30cd 
>   examples/python/simple_send.py 4158272 
>   examples/python/sync_client.py 82cd85f 
>   examples/python/test_examples.py 9c89344 
>   examples/python/tx_recv.py 641f0a2 
>   examples/python/tx_recv_interactive.py d08ff2b 
>   examples/python/tx_send.py 0f1da5a 
>   proton-c/bindings/python/cproton.i 70d6c42 
>   proton-c/bindings/python/proton/__init__.py 8a9d857 
>   proton-c/bindings/python/proton/_compat.py PRE-CREATION 
>   proton-c/bindings/python/proton/handlers.py 6836788 
>   proton-c/bindings/python/proton/reactor.py 467bb76 
>   proton-c/bindings/python/proton/utils.py b5ecdf7 
>   proton-c/bindings/python/proton/wrapper.py 2911d3a 
>   proton-c/mllib/__init__.py 9aa1e56 
>   proton-c/mllib/dom.py 486f708 
>   proton-c/mllib/parsers.py 3e7cc10 
>   proton-c/mllib/transforms.py 69d9912 
>   proton-c/src/codec/encodings.h.py 71fb9ea 
>   proton-c/src/protocol.h.py 76a2391 
>   proton-j/src/main/resources/cmessage.py 6035d54 
>   tests/python/proton-test 66113dc 
>   tests/python/proton_tests/codec.py 81bb4de 
>   tests/python/proton_tests/common.py 1b8dbdb 
>   tests/python/proton_tests/engine.py 2d2b8cd 
>   tests/python/proton_tests/interop.py baf998d 
>   tests/python/proton_tests/message.py 6bf94fe 
>   tests/python/proton_tests/messenger.py 23004ba 
>   tests/python/proton_tests/reactor.py 4e660a5 
>   tests/python/proton_tests/sasl.py 68fb6e3 
>   tests/python/proton_tests/soak.py 9e5ceab 
>   tests/python/proton_tests/ssl.py f5fae3f 
>   tests/python/proton_tests/transport.py febb029 
>   tests/python/proton_tests/url.py 77a16ff 
>   tests/python/proton_tests/utils.py 727b586 
>   tests/smoke/recv.py 3b2b0e5 
>   tests/smoke/send.py 1aed9c8 
>   tests/tools/apps/python/msgr-recv.py 73c2a3a 
>   tests/tools/apps/python/msgr-send.py 872122b 
>   tests/tools/soak-check 36d7984 
> 
> Diff: https://reviews.apache.org/r/33691/diff/
> 
> 
> Testing
> -------
> 
> I've verified that the unit tests and the python examples run fine under python2.6, 2.7, and python3.3
> 
> 
> Thanks,
> 
> Kenneth Giusti
> 
>


Re: Review Request 33691: Python 3 support

Posted by Kenneth Giusti <kg...@apache.org>.

> On May 1, 2015, 9:25 a.m., Gordon Sim wrote:
> > proton-c/bindings/python/proton/utils.py, line 204
> > <https://reviews.apache.org/r/33691/diff/1/?file=945621#file945621line204>
> >
> >     Is this no longer needed? Even for 2.x?

The use of utf8() here happens to be redundant: the lower layers (like Url() and session.sender()) already convert string types to utf-8.  In the cases where the C API expects null terminated utf-8 parameters (like AMQP.String types), the python API will explicitly encode the string to utf-8.  Any attempt to pass non-utf8 data (like utf-32, which can have embedded zero bytes) will throw an encoding error.


- Kenneth


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/33691/#review82239
-----------------------------------------------------------


On April 29, 2015, 7:50 p.m., Kenneth Giusti wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/33691/
> -----------------------------------------------------------
> 
> (Updated April 29, 2015, 7:50 p.m.)
> 
> 
> Review request for qpid.
> 
> 
> Bugs: PROTON-490
>     https://issues.apache.org/jira/browse/PROTON-490
> 
> 
> Repository: qpid-proton-git
> 
> 
> Description
> -------
> 
> Add support for python3.x.  Based on the original work done by Mickael Maison and Dominic Evans.
> 
> 
> Diffs
> -----
> 
>   examples/python/abstract_server.py 2d0de32 
>   examples/python/client.py a116175 
>   examples/python/client_http.py cd0d63f 
>   examples/python/db_common.py 85f8191 
>   examples/python/db_ctrl.py b28e0eb 
>   examples/python/db_recv.py d8dd7bc 
>   examples/python/db_send.py 6464fa6 
>   examples/python/direct_recv.py 92f712c 
>   examples/python/direct_send.py 0bfad17 
>   examples/python/helloworld.py d741f5e 
>   examples/python/helloworld_blocking.py 62b6105 
>   examples/python/helloworld_direct.py 2ad78a7 
>   examples/python/helloworld_direct_tornado.py 2466f80 
>   examples/python/helloworld_tornado.py d4b32cf 
>   examples/python/messenger/async.py 14fc4c9 
>   examples/python/messenger/client.py 3146e45 
>   examples/python/messenger/recv.py e19ddad 
>   examples/python/messenger/recv_async.py ba4f063 
>   examples/python/messenger/send.py 139f6e8 
>   examples/python/messenger/send_async.py 304aceb 
>   examples/python/messenger/server.py 01196be 
>   examples/python/proton_server.py b92261c 
>   examples/python/queue_browser.py ad4d393 
>   examples/python/reactor/cat.py 57f4515 
>   examples/python/reactor/count-randomly.py d9a32c6 
>   examples/python/reactor/counter.py 1ef45f0 
>   examples/python/reactor/delegates.py 813ceba 
>   examples/python/reactor/echo.py 4675f5d 
>   examples/python/reactor/global-logger.py bc3bc56 
>   examples/python/reactor/goodbye-world.py 44bcf7c 
>   examples/python/reactor/handlers.py ed3a94d 
>   examples/python/reactor/hello-world.py c685c73 
>   examples/python/reactor/reactor-logger.py c07e9b9 
>   examples/python/reactor/recv.py aa56472 
>   examples/python/reactor/scheduling.py f822f68 
>   examples/python/reactor/tornado-hello-world.py fa8ca83 
>   examples/python/reactor/unhandled.py 3734a71 
>   examples/python/recurring_timer.py a39791d 
>   examples/python/recurring_timer_tornado.py 1f1c0e7 
>   examples/python/selected_recv.py 351d4ef 
>   examples/python/server.py 62aa162 
>   examples/python/server_direct.py 18a20f3 
>   examples/python/server_tx.py 96b83cb 
>   examples/python/simple_recv.py abe30cd 
>   examples/python/simple_send.py 4158272 
>   examples/python/sync_client.py 82cd85f 
>   examples/python/test_examples.py 9c89344 
>   examples/python/tx_recv.py 641f0a2 
>   examples/python/tx_recv_interactive.py d08ff2b 
>   examples/python/tx_send.py 0f1da5a 
>   proton-c/bindings/python/cproton.i 70d6c42 
>   proton-c/bindings/python/proton/__init__.py 8a9d857 
>   proton-c/bindings/python/proton/_compat.py PRE-CREATION 
>   proton-c/bindings/python/proton/handlers.py 6836788 
>   proton-c/bindings/python/proton/reactor.py 467bb76 
>   proton-c/bindings/python/proton/utils.py b5ecdf7 
>   proton-c/bindings/python/proton/wrapper.py 2911d3a 
>   proton-c/mllib/__init__.py 9aa1e56 
>   proton-c/mllib/dom.py 486f708 
>   proton-c/mllib/parsers.py 3e7cc10 
>   proton-c/mllib/transforms.py 69d9912 
>   proton-c/src/codec/encodings.h.py 71fb9ea 
>   proton-c/src/protocol.h.py 76a2391 
>   proton-j/src/main/resources/cmessage.py 6035d54 
>   tests/python/proton-test 66113dc 
>   tests/python/proton_tests/codec.py 81bb4de 
>   tests/python/proton_tests/common.py 1b8dbdb 
>   tests/python/proton_tests/engine.py 2d2b8cd 
>   tests/python/proton_tests/interop.py baf998d 
>   tests/python/proton_tests/message.py 6bf94fe 
>   tests/python/proton_tests/messenger.py 23004ba 
>   tests/python/proton_tests/reactor.py 4e660a5 
>   tests/python/proton_tests/sasl.py 68fb6e3 
>   tests/python/proton_tests/soak.py 9e5ceab 
>   tests/python/proton_tests/ssl.py f5fae3f 
>   tests/python/proton_tests/transport.py febb029 
>   tests/python/proton_tests/url.py 77a16ff 
>   tests/python/proton_tests/utils.py 727b586 
>   tests/smoke/recv.py 3b2b0e5 
>   tests/smoke/send.py 1aed9c8 
>   tests/tools/apps/python/msgr-recv.py 73c2a3a 
>   tests/tools/apps/python/msgr-send.py 872122b 
>   tests/tools/soak-check 36d7984 
> 
> Diff: https://reviews.apache.org/r/33691/diff/
> 
> 
> Testing
> -------
> 
> I've verified that the unit tests and the python examples run fine under python2.6, 2.7, and python3.3
> 
> 
> Thanks,
> 
> Kenneth Giusti
> 
>