PROTON-490: run the "futurize" tool on all python source files The futurize tool attempts to forward-port python2.5+ sources to be compatible with python3. See http://python-future.org for details.
Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/903c7246 Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/903c7246 Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/903c7246 Branch: refs/heads/master Commit: 903c7246974f89857c0577a80a08603c2b8162e6 Parents: a977f93 Author: Ken Giusti <[email protected]> Authored: Thu Apr 16 14:01:16 2015 -0400 Committer: Ken Giusti <[email protected]> Committed: Wed Apr 22 10:42:59 2015 -0400 ---------------------------------------------------------------------- examples/python/abstract_server.py | 3 +- examples/python/client.py | 3 +- examples/python/client_http.py | 3 +- examples/python/db_ctrl.py | 7 +- examples/python/db_recv.py | 3 +- examples/python/db_send.py | 11 +-- examples/python/direct_recv.py | 3 +- examples/python/direct_send.py | 3 +- examples/python/helloworld.py | 3 +- examples/python/helloworld_blocking.py | 3 +- examples/python/helloworld_direct.py | 3 +- examples/python/helloworld_direct_tornado.py | 3 +- examples/python/helloworld_tornado.py | 3 +- examples/python/messenger/async.py | 3 +- examples/python/messenger/client.py | 7 +- examples/python/messenger/recv.py | 7 +- examples/python/messenger/recv_async.py | 11 +-- examples/python/messenger/send.py | 3 +- examples/python/messenger/send_async.py | 9 +- examples/python/messenger/server.py | 5 +- examples/python/proton_server.py | 3 +- examples/python/queue_browser.py | 3 +- examples/python/reactor/cat.py | 3 +- examples/python/reactor/count-randomly.py | 9 +- examples/python/reactor/counter.py | 7 +- examples/python/reactor/delegates.py | 5 +- examples/python/reactor/echo.py | 5 +- examples/python/reactor/global-logger.py | 9 +- examples/python/reactor/goodbye-world.py | 5 +- examples/python/reactor/handlers.py | 7 +- examples/python/reactor/hello-world.py | 3 +- examples/python/reactor/reactor-logger.py | 7 +- examples/python/reactor/recv.py | 3 +- examples/python/reactor/scheduling.py | 7 +- examples/python/reactor/tornado-hello-world.py | 3 +- examples/python/reactor/unhandled.py | 3 +- examples/python/recurring_timer.py | 5 +- examples/python/recurring_timer_tornado.py | 5 +- examples/python/selected_recv.py | 3 +- examples/python/server.py | 5 +- examples/python/server_direct.py | 7 +- examples/python/server_tx.py | 5 +- examples/python/simple_recv.py | 3 +- examples/python/simple_send.py | 3 +- examples/python/sync_client.py | 3 +- examples/python/tx_recv.py | 3 +- examples/python/tx_recv_interactive.py | 11 +-- examples/python/tx_send.py | 3 +- proton-c/bindings/python/proton/__init__.py | 33 ++++---- proton-c/bindings/python/proton/reactor.py | 11 +-- proton-c/bindings/python/proton/utils.py | 2 +- proton-c/mllib/__init__.py | 10 ++- proton-c/mllib/dom.py | 5 +- proton-c/mllib/parsers.py | 3 +- proton-c/mllib/transforms.py | 3 +- proton-c/src/codec/encodings.h.py | 17 ++-- proton-c/src/protocol.h.py | 91 +++++++++++---------- tests/python/proton_tests/codec.py | 87 ++++++++++---------- tests/python/proton_tests/common.py | 24 +++++- tests/python/proton_tests/engine.py | 8 +- tests/python/proton_tests/interop.py | 21 ++--- tests/python/proton_tests/message.py | 3 +- tests/python/proton_tests/messenger.py | 9 +- tests/python/proton_tests/reactor.py | 3 +- tests/python/proton_tests/sasl.py | 6 +- tests/python/proton_tests/soak.py | 3 +- tests/python/proton_tests/ssl.py | 11 ++- tests/python/proton_tests/transport.py | 9 +- tests/python/proton_tests/url.py | 3 +- tests/smoke/recv.py | 3 +- tests/smoke/send.py | 5 +- tests/tools/apps/python/msgr-recv.py | 1 + tests/tools/apps/python/msgr-send.py | 1 + 73 files changed, 356 insertions(+), 250 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/abstract_server.py ---------------------------------------------------------------------- diff --git a/examples/python/abstract_server.py b/examples/python/abstract_server.py index 2d0de32..fed7fb2 100755 --- a/examples/python/abstract_server.py +++ b/examples/python/abstract_server.py @@ -18,6 +18,7 @@ # under the License. # +from __future__ import print_function from proton_server import Server class Application(Server): @@ -27,7 +28,7 @@ class Application(Server): def on_request(self, request, reply_to): response = request.upper() self.send(response, reply_to) - print "Request from: %s" % reply_to + print("Request from: %s" % reply_to) try: Application("localhost:5672", "examples").run() http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/client.py ---------------------------------------------------------------------- diff --git a/examples/python/client.py b/examples/python/client.py index a116175..18dc81a 100755 --- a/examples/python/client.py +++ b/examples/python/client.py @@ -18,6 +18,7 @@ # under the License. # +from __future__ import print_function import optparse from proton import Message from proton.handlers import MessagingHandler @@ -43,7 +44,7 @@ class Client(MessagingHandler): self.next_request() def on_message(self, event): - print "%s => %s" % (self.requests.pop(0), event.message.body) + print("%s => %s" % (self.requests.pop(0), event.message.body)) if self.requests: self.next_request() else: http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/client_http.py ---------------------------------------------------------------------- diff --git a/examples/python/client_http.py b/examples/python/client_http.py index cd0d63f..bf65639 100755 --- a/examples/python/client_http.py +++ b/examples/python/client_http.py @@ -18,6 +18,7 @@ # under the License. # +from __future__ import print_function import tornado.ioloop import tornado.web from proton import Message @@ -51,7 +52,7 @@ class Client(MessagingHandler): def on_message(self, event): if self.sent: request, handler = self.sent.pop(0) - print "%s => %s" % (request, event.message.body) + print("%s => %s" % (request, event.message.body)) handler(event.message.body) self.do_request() http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/db_ctrl.py ---------------------------------------------------------------------- diff --git a/examples/python/db_ctrl.py b/examples/python/db_ctrl.py index b28e0eb..04770ce 100755 --- a/examples/python/db_ctrl.py +++ b/examples/python/db_ctrl.py @@ -18,11 +18,12 @@ # under the License. # +from __future__ import print_function import sqlite3 import sys if len(sys.argv) < 3: - print "Usage: %s [init|insert|list] db" % sys.argv[0] + print("Usage: %s [init|insert|list] db" % sys.argv[0]) else: conn = sqlite3.connect(sys.argv[2]) with conn: @@ -35,7 +36,7 @@ else: cursor.execute("SELECT * FROM records") rows = cursor.fetchall() for r in rows: - print r + print(r) elif sys.argv[1] == "insert": while True: l = sys.stdin.readline() @@ -43,4 +44,4 @@ else: conn.execute("INSERT INTO records(description) VALUES (?)", (l.rstrip(),)) conn.commit() else: - print "Unrecognised command: %s" % sys.argv[1] + print("Unrecognised command: %s" % sys.argv[1]) http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/db_recv.py ---------------------------------------------------------------------- diff --git a/examples/python/db_recv.py b/examples/python/db_recv.py index d8dd7bc..8c79049 100755 --- a/examples/python/db_recv.py +++ b/examples/python/db_recv.py @@ -18,6 +18,7 @@ # under the License. # +from __future__ import print_function import optparse from proton.handlers import MessagingHandler from proton.reactor import ApplicationEvent, Container, EventInjector @@ -58,7 +59,7 @@ class Recv(MessagingHandler): self.received += 1 self.last_id = id self.db.insert(id, event.message.body, ApplicationEvent("record_inserted", delivery=event.delivery)) - print "inserted message %s" % id + print("inserted message %s" % id) else: self.release(event.delivery) else: http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/db_send.py ---------------------------------------------------------------------- diff --git a/examples/python/db_send.py b/examples/python/db_send.py index 6464fa6..99558d5 100755 --- a/examples/python/db_send.py +++ b/examples/python/db_send.py @@ -18,6 +18,7 @@ # under the License. # +from __future__ import print_function import optparse import Queue import time @@ -49,7 +50,7 @@ class Send(MessagingHandler): def on_records_loaded(self, event): if self.records.empty(): if event.subject == self.load_count: - print "Exhausted available data, waiting to recheck..." + print("Exhausted available data, waiting to recheck...") # check for new data after 5 seconds self.container.schedule(5, self) else: @@ -57,7 +58,7 @@ class Send(MessagingHandler): def request_records(self): if not self.records.full(): - print "loading records..." + print("loading records...") self.load_count += 1 self.db.load(self.records, event=ApplicationEvent("records_loaded", link=self.sender, subject=self.load_count)) @@ -71,13 +72,13 @@ class Send(MessagingHandler): id = record['id'] self.sender.send(Message(id=id, durable=True, body=record['description']), tag=str(id)) self.sent += 1 - print "sent message %s" % id + print("sent message %s" % id) self.request_records() def on_settled(self, event): id = int(event.delivery.tag) self.db.delete(id) - print "settled message %s" % id + print("settled message %s" % id) self.confirmed += 1 if self.confirmed == self.target: event.connection.close() @@ -88,7 +89,7 @@ class Send(MessagingHandler): self.sent = self.confirmed def on_timer_task(self, event): - print "Rechecking for data..." + print("Rechecking for data...") self.request_records() parser = optparse.OptionParser(usage="usage: %prog [options]", http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/direct_recv.py ---------------------------------------------------------------------- diff --git a/examples/python/direct_recv.py b/examples/python/direct_recv.py index 92f712c..1c6bf36 100755 --- a/examples/python/direct_recv.py +++ b/examples/python/direct_recv.py @@ -18,6 +18,7 @@ # under the License. # +from __future__ import print_function import optparse from proton.handlers import MessagingHandler from proton.reactor import Container @@ -37,7 +38,7 @@ class Recv(MessagingHandler): # ignore duplicate message return if self.expected == 0 or self.received < self.expected: - print event.message.body + print(event.message.body) self.received += 1 if self.received == self.expected: event.receiver.close() http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/direct_send.py ---------------------------------------------------------------------- diff --git a/examples/python/direct_send.py b/examples/python/direct_send.py index 0bfad17..f551e1e 100755 --- a/examples/python/direct_send.py +++ b/examples/python/direct_send.py @@ -18,6 +18,7 @@ # under the License. # +from __future__ import print_function import optparse from proton import Message from proton.handlers import MessagingHandler @@ -43,7 +44,7 @@ class Send(MessagingHandler): def on_accepted(self, event): self.confirmed += 1 if self.confirmed == self.total: - print "all messages confirmed" + print("all messages confirmed") event.connection.close() self.acceptor.close() http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/helloworld.py ---------------------------------------------------------------------- diff --git a/examples/python/helloworld.py b/examples/python/helloworld.py index d741f5e..d73a4cb 100755 --- a/examples/python/helloworld.py +++ b/examples/python/helloworld.py @@ -18,6 +18,7 @@ # under the License. # +from __future__ import print_function from proton import Message from proton.handlers import MessagingHandler from proton.reactor import Container @@ -38,7 +39,7 @@ class HelloWorld(MessagingHandler): event.sender.close() def on_message(self, event): - print event.message.body + print(event.message.body) event.connection.close() Container(HelloWorld("localhost:5672", "examples")).run() http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/helloworld_blocking.py ---------------------------------------------------------------------- diff --git a/examples/python/helloworld_blocking.py b/examples/python/helloworld_blocking.py index 62b6105..049f148 100755 --- a/examples/python/helloworld_blocking.py +++ b/examples/python/helloworld_blocking.py @@ -18,6 +18,7 @@ # under the License. # +from __future__ import print_function from proton import Message from proton.utils import BlockingConnection from proton.handlers import IncomingMessageHandler @@ -27,7 +28,7 @@ receiver = conn.create_receiver("examples") sender = conn.create_sender("examples") sender.send(Message(body=u"Hello World!")); msg = receiver.receive(timeout=30) -print msg.body +print(msg.body) receiver.accept() conn.close() http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/helloworld_direct.py ---------------------------------------------------------------------- diff --git a/examples/python/helloworld_direct.py b/examples/python/helloworld_direct.py index 2ad78a7..d6374a2 100755 --- a/examples/python/helloworld_direct.py +++ b/examples/python/helloworld_direct.py @@ -18,6 +18,7 @@ # under the License. # +from __future__ import print_function from proton import Message from proton.handlers import MessagingHandler from proton.reactor import Container @@ -36,7 +37,7 @@ class HelloWorld(MessagingHandler): event.sender.close() def on_message(self, event): - print event.message.body + print(event.message.body) def on_accepted(self, event): event.connection.close() http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/helloworld_direct_tornado.py ---------------------------------------------------------------------- diff --git a/examples/python/helloworld_direct_tornado.py b/examples/python/helloworld_direct_tornado.py index 2466f80..9ef2ed7 100755 --- a/examples/python/helloworld_direct_tornado.py +++ b/examples/python/helloworld_direct_tornado.py @@ -18,6 +18,7 @@ # under the License. # +from __future__ import print_function from proton import Message from proton.handlers import MessagingHandler from proton_tornado import Container @@ -36,7 +37,7 @@ class HelloWorld(MessagingHandler): event.sender.close() def on_message(self, event): - print event.message.body + print(event.message.body) def on_accepted(self, event): event.connection.close() http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/helloworld_tornado.py ---------------------------------------------------------------------- diff --git a/examples/python/helloworld_tornado.py b/examples/python/helloworld_tornado.py index d4b32cf..3cb2ad1 100755 --- a/examples/python/helloworld_tornado.py +++ b/examples/python/helloworld_tornado.py @@ -18,6 +18,7 @@ # under the License. # +from __future__ import print_function from proton import Message from proton.handlers import MessagingHandler from proton_tornado import Container @@ -38,7 +39,7 @@ class HelloWorld(MessagingHandler): event.sender.close() def on_message(self, event): - print event.message.body + print(event.message.body) event.connection.close() Container(HelloWorld("localhost:5672", "examples")).run() http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/messenger/async.py ---------------------------------------------------------------------- diff --git a/examples/python/messenger/async.py b/examples/python/messenger/async.py index 14fc4c9..b3f5c45 100755 --- a/examples/python/messenger/async.py +++ b/examples/python/messenger/async.py @@ -17,6 +17,7 @@ # specific language governing permissions and limitations # under the License. # +from __future__ import print_function import sys from proton import * @@ -72,7 +73,7 @@ class CallbackAdapter: self.messenger.accept(t) except: ex = sys.exc_info()[1] - print "Exception:", ex + print("Exception:", ex) self.messenger.reject(t) def send(self, message, on_status=None): http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/messenger/client.py ---------------------------------------------------------------------- diff --git a/examples/python/messenger/client.py b/examples/python/messenger/client.py index 3146e45..62fc16e 100755 --- a/examples/python/messenger/client.py +++ b/examples/python/messenger/client.py @@ -17,6 +17,7 @@ # specific language governing permissions and limitations # under the License. # +from __future__ import print_function import sys, optparse from proton import * @@ -48,8 +49,8 @@ if opts.reply_to[:2] == "~/": mng.recv(1) try: mng.get(msg) - print msg.address, msg.subject - except Exception, e: - print e + print(msg.address, msg.subject) + except Exception as e: + print(e) mng.stop() http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/messenger/recv.py ---------------------------------------------------------------------- diff --git a/examples/python/messenger/recv.py b/examples/python/messenger/recv.py index e19ddad..5771bd7 100755 --- a/examples/python/messenger/recv.py +++ b/examples/python/messenger/recv.py @@ -17,6 +17,7 @@ # specific language governing permissions and limitations # under the License. # +from __future__ import print_function import sys, optparse from proton import * @@ -46,9 +47,9 @@ while True: while mng.incoming: try: mng.get(msg) - except Exception, e: - print e + except Exception as e: + print(e) else: - print msg.address, msg.subject or "(no subject)", msg.properties, msg.body + print(msg.address, msg.subject or "(no subject)", msg.properties, msg.body) mng.stop() http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/messenger/recv_async.py ---------------------------------------------------------------------- diff --git a/examples/python/messenger/recv_async.py b/examples/python/messenger/recv_async.py index ba4f063..b38c31a 100755 --- a/examples/python/messenger/recv_async.py +++ b/examples/python/messenger/recv_async.py @@ -17,6 +17,7 @@ # specific language governing permissions and limitations # under the License. # +from __future__ import print_function import sys, optparse from async import * @@ -31,25 +32,25 @@ if not args: class App(CallbackAdapter): def on_start(self): - print "Started" + print("Started") for a in args: - print "Subscribing to:", a + print("Subscribing to:", a) self.messenger.subscribe(a) self.messenger.recv() def on_recv(self, msg): - print "Received:", msg + print("Received:", msg) if msg.body == "die": self.stop() if msg.reply_to: self.message.clear() self.message.address = msg.reply_to self.message.body = "Reply for: %s" % msg.body - print "Replied:", self.message + print("Replied:", self.message) self.send(self.message) def on_stop(self): - print "Stopped" + print("Stopped") a = App(Messenger()) a.run() http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/messenger/send.py ---------------------------------------------------------------------- diff --git a/examples/python/messenger/send.py b/examples/python/messenger/send.py index 139f6e8..f40e7b1 100755 --- a/examples/python/messenger/send.py +++ b/examples/python/messenger/send.py @@ -17,6 +17,7 @@ # specific language governing permissions and limitations # under the License. # +from __future__ import print_function import sys, optparse from proton import * @@ -39,6 +40,6 @@ for m in args: mng.put(msg) mng.send() -print "sent:", ", ".join(args) +print("sent:", ", ".join(args)) mng.stop() http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/messenger/send_async.py ---------------------------------------------------------------------- diff --git a/examples/python/messenger/send_async.py b/examples/python/messenger/send_async.py index 304aceb..50f7a68 100755 --- a/examples/python/messenger/send_async.py +++ b/examples/python/messenger/send_async.py @@ -17,6 +17,7 @@ # specific language governing permissions and limitations # under the License. # +from __future__ import print_function import sys, optparse from async import * @@ -33,7 +34,7 @@ if not args: class App(CallbackAdapter): def on_start(self): - print "Started" + print("Started") self.message.clear() self.message.address = opts.address self.message.reply_to = opts.reply_to @@ -45,19 +46,19 @@ class App(CallbackAdapter): self.messenger.recv() def on_status(self, status): - print "Status:", status + print("Status:", status) if not opts.reply_to or opts.reply_to[0] != "~": args.pop(0) if not args: self.stop() def on_recv(self, msg): - print "Received:", msg + print("Received:", msg) if opts.reply_to and opts.reply_to[0] == "~": args.pop(0) if not args: self.stop() def on_stop(self): - print "Stopped" + print("Stopped") a = App(Messenger()) a.run() http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/messenger/server.py ---------------------------------------------------------------------- diff --git a/examples/python/messenger/server.py b/examples/python/messenger/server.py index 01196be..8c25879 100755 --- a/examples/python/messenger/server.py +++ b/examples/python/messenger/server.py @@ -17,6 +17,7 @@ # specific language governing permissions and limitations # under the License. # +from __future__ import print_function import sys, optparse from proton import * @@ -38,7 +39,7 @@ def dispatch(request, response): if request.subject: response.subject = "Re: %s" % request.subject response.properties = request.properties - print "Dispatched %s %s" % (request.subject, request.properties) + print("Dispatched %s %s" % (request.subject, request.properties)) msg = Message() reply = Message() @@ -50,7 +51,7 @@ while True: if mng.incoming > 0: mng.get(msg) if msg.reply_to: - print msg.reply_to + print(msg.reply_to) reply.address = msg.reply_to reply.correlation_id = msg.correlation_id reply.body = msg.body http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/proton_server.py ---------------------------------------------------------------------- diff --git a/examples/python/proton_server.py b/examples/python/proton_server.py index b92261c..c2520c1 100755 --- a/examples/python/proton_server.py +++ b/examples/python/proton_server.py @@ -1,3 +1,4 @@ +from __future__ import print_function # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file @@ -38,7 +39,7 @@ class Server(MessagingHandler): self.relay = self.container.create_sender(self.conn, None) def on_connection_close(self, endpoint, error): - if error: print "Closed due to %s" % error + if error: print("Closed due to %s" % error) self.conn.close() def run(self): http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/queue_browser.py ---------------------------------------------------------------------- diff --git a/examples/python/queue_browser.py b/examples/python/queue_browser.py index ad4d393..34d2377 100755 --- a/examples/python/queue_browser.py +++ b/examples/python/queue_browser.py @@ -18,6 +18,7 @@ # under the License. # +from __future__ import print_function from proton.reactor import Container, Copy from proton.handlers import MessagingHandler @@ -30,7 +31,7 @@ class Recv(MessagingHandler): event.container.create_receiver(conn, "examples", options=Copy()) def on_message(self, event): - print event.message + print(event.message) if event.receiver.queued == 0 and event.receiver.drained: event.connection.close() http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/reactor/cat.py ---------------------------------------------------------------------- diff --git a/examples/python/reactor/cat.py b/examples/python/reactor/cat.py index 57f4515..82ebd27 100755 --- a/examples/python/reactor/cat.py +++ b/examples/python/reactor/cat.py @@ -18,6 +18,7 @@ # under the License. # +from __future__ import print_function import sys, os from proton.reactor import Reactor @@ -42,7 +43,7 @@ class Echo: # to be read, or the end of stream has been reached. data = os.read(sel.fileno(), 1024) if data: - print data, + print(data, end=' ') else: sel.terminate() event.reactor.update(sel) http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/reactor/count-randomly.py ---------------------------------------------------------------------- diff --git a/examples/python/reactor/count-randomly.py b/examples/python/reactor/count-randomly.py index d9a32c6..fb3709a 100755 --- a/examples/python/reactor/count-randomly.py +++ b/examples/python/reactor/count-randomly.py @@ -18,6 +18,7 @@ # under the License. # +from __future__ import print_function import time, random from proton.reactor import Reactor @@ -34,7 +35,7 @@ class Counter: def on_timer_task(self, event): self.count += 1 - print self.count + print(self.count) if not self.done(): event.reactor.schedule(0.25, self) @@ -46,7 +47,7 @@ class Program: def on_reactor_init(self, event): self.start = time.time() - print "Hello, World!" + print("Hello, World!") # Save the counter instance in an attribute so we can refer to # it later. @@ -60,12 +61,12 @@ class Program: def on_timer_task(self, event): # keep on shouting until we are done counting - print "Yay, %s!" % random.randint(10, 100) + print("Yay, %s!" % random.randint(10, 100)) if not self.counter.done(): event.reactor.schedule(0.5, self) def on_reactor_final(self, event): - print "Goodbye, World! (after %s long seconds)" % (time.time() - self.start) + print("Goodbye, World! (after %s long seconds)" % (time.time() - self.start)) # In hello-world.py we said the reactor exits when there are no more # events to process. While this is true, it's not actually complete. http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/reactor/counter.py ---------------------------------------------------------------------- diff --git a/examples/python/reactor/counter.py b/examples/python/reactor/counter.py index 1ef45f0..7c8167a 100755 --- a/examples/python/reactor/counter.py +++ b/examples/python/reactor/counter.py @@ -18,6 +18,7 @@ # under the License. # +from __future__ import print_function import time from proton.reactor import Reactor @@ -29,7 +30,7 @@ class Counter: def on_timer_task(self, event): self.count += 1 - print self.count + print(self.count) if self.count < self.limit: # A recurring task can be acomplished by just scheduling # another event. @@ -39,7 +40,7 @@ class Program: def on_reactor_init(self, event): self.start = time.time() - print "Hello, World!" + print("Hello, World!") # Note that unlike the previous scheduling example, we pass in # a separate object for the handler. This means that the timer @@ -48,7 +49,7 @@ class Program: event.reactor.schedule(0.25, Counter(10)) def on_reactor_final(self, event): - print "Goodbye, World! (after %s long seconds)" % (time.time() - self.start) + print("Goodbye, World! (after %s long seconds)" % (time.time() - self.start)) # In hello-world.py we said the reactor exits when there are no more # events to process. While this is true, it's not actually complete. http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/reactor/delegates.py ---------------------------------------------------------------------- diff --git a/examples/python/reactor/delegates.py b/examples/python/reactor/delegates.py index 813ceba..1a8e1e9 100755 --- a/examples/python/reactor/delegates.py +++ b/examples/python/reactor/delegates.py @@ -18,6 +18,7 @@ # under the License. # +from __future__ import print_function import time from proton.reactor import Reactor @@ -28,12 +29,12 @@ from proton.reactor import Reactor class Hello: def on_reactor_init(self, event): - print "Hello, World!" + print("Hello, World!") class Goodbye: def on_reactor_final(self, event): - print "Goodbye, World!" + print("Goodbye, World!") class Program: http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/reactor/echo.py ---------------------------------------------------------------------- diff --git a/examples/python/reactor/echo.py b/examples/python/reactor/echo.py index 4675f5d..17529d9 100755 --- a/examples/python/reactor/echo.py +++ b/examples/python/reactor/echo.py @@ -18,6 +18,7 @@ # under the License. # +from __future__ import print_function import sys, os from proton.reactor import Reactor @@ -42,7 +43,7 @@ class Echo: # to be read, or the end of stream has been reached. data = os.read(sel.fileno(), 1024) if data: - print data, + print(data, end=' ') else: sel.terminate() event.reactor.update(sel) @@ -54,7 +55,7 @@ class Program: # selectable stays alive until it reads the end of stream # marker. This will keep the whole reactor running until we # type Control-D. - print "Type whatever you want and then use Control-D to exit:" + print("Type whatever you want and then use Control-D to exit:") event.reactor.selectable(Echo(sys.stdin)) r = Reactor(Program()) http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/reactor/global-logger.py ---------------------------------------------------------------------- diff --git a/examples/python/reactor/global-logger.py b/examples/python/reactor/global-logger.py index bc3bc56..3cbe11c 100755 --- a/examples/python/reactor/global-logger.py +++ b/examples/python/reactor/global-logger.py @@ -18,6 +18,7 @@ # under the License. # +from __future__ import print_function import time from proton.reactor import Reactor @@ -30,21 +31,21 @@ from proton.reactor import Reactor class Logger: def on_unhandled(self, name, event): - print "LOG:", name, event + print("LOG:", name, event) class Task: def on_timer_task(self, event): - print "Mission accomplished!" + print("Mission accomplished!") class Program: def on_reactor_init(self, event): - print "Hello, World!" + print("Hello, World!") event.reactor.schedule(0, Task()) def on_reactor_final(self, event): - print "Goodbye, World!" + print("Goodbye, World!") r = Reactor(Program()) http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/reactor/goodbye-world.py ---------------------------------------------------------------------- diff --git a/examples/python/reactor/goodbye-world.py b/examples/python/reactor/goodbye-world.py index 44bcf7c..f251c8a 100755 --- a/examples/python/reactor/goodbye-world.py +++ b/examples/python/reactor/goodbye-world.py @@ -18,6 +18,7 @@ # under the License. # +from __future__ import print_function from proton.reactor import Reactor # So far the reactive hello-world doesn't look too different from a @@ -30,7 +31,7 @@ class Program: # As before we handle the reactor init event. def on_reactor_init(self, event): - print "Hello, World!" + print("Hello, World!") # In addition to an initial event, the reactor also produces an # event when it is about to exit. This may not behave much @@ -40,7 +41,7 @@ class Program: # regardless of what other paths the main logic of our program # might take. def on_reactor_final(self, event): - print "Goodbye, World!" + print("Goodbye, World!") r = Reactor(Program()) r.run() http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/reactor/handlers.py ---------------------------------------------------------------------- diff --git a/examples/python/reactor/handlers.py b/examples/python/reactor/handlers.py index ed3a94d..ee8d807 100755 --- a/examples/python/reactor/handlers.py +++ b/examples/python/reactor/handlers.py @@ -18,6 +18,7 @@ # under the License. # +from __future__ import print_function import time from proton.reactor import Reactor @@ -25,12 +26,12 @@ from proton.reactor import Reactor class World: def on_reactor_init(self, event): - print "World!" + print("World!") class Goodbye: def on_reactor_final(self, event): - print "Goodbye, World!" + print("Goodbye, World!") class Hello: @@ -42,7 +43,7 @@ class Hello: # The parent handler always receives the event first. def on_reactor_init(self, event): - print "Hello", + print("Hello", end=' ') r = Reactor(Hello()) r.run() http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/reactor/hello-world.py ---------------------------------------------------------------------- diff --git a/examples/python/reactor/hello-world.py b/examples/python/reactor/hello-world.py index c685c73..f1708db 100755 --- a/examples/python/reactor/hello-world.py +++ b/examples/python/reactor/hello-world.py @@ -18,6 +18,7 @@ # under the License. # +from __future__ import print_function from proton.reactor import Reactor # The proton reactor provides a general purpose event processing @@ -31,7 +32,7 @@ class Program: # The reactor init event is produced by the reactor itself when it # starts. def on_reactor_init(self, event): - print "Hello, World!" + print("Hello, World!") # When you construct a reactor, you give it a handler. r = Reactor(Program()) http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/reactor/reactor-logger.py ---------------------------------------------------------------------- diff --git a/examples/python/reactor/reactor-logger.py b/examples/python/reactor/reactor-logger.py index c07e9b9..2d3f9de 100755 --- a/examples/python/reactor/reactor-logger.py +++ b/examples/python/reactor/reactor-logger.py @@ -18,21 +18,22 @@ # under the License. # +from __future__ import print_function import time from proton.reactor import Reactor class Logger: def on_unhandled(self, name, event): - print "LOG:", name, event + print("LOG:", name, event) class Program: def on_reactor_init(self, event): - print "Hello, World!" + print("Hello, World!") def on_reactor_final(self, event): - print "Goodbye, World!" + print("Goodbye, World!") # You can pass multiple handlers to a reactor when you construct it. # Each of these handlers will see every event the reactor sees. By http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/reactor/recv.py ---------------------------------------------------------------------- diff --git a/examples/python/reactor/recv.py b/examples/python/reactor/recv.py index aa56472..c6f07f1 100755 --- a/examples/python/reactor/recv.py +++ b/examples/python/reactor/recv.py @@ -18,6 +18,7 @@ # under the License. # +from __future__ import print_function from proton import Message from proton.reactor import Reactor from proton.handlers import CHandshaker, CFlowController @@ -41,7 +42,7 @@ class Program: # compliment the similar thing on send rcv = event.receiver if rcv and self.message.recv(rcv): - print self.message + print(self.message) event.delivery.settle() r = Reactor(Program()) http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/reactor/scheduling.py ---------------------------------------------------------------------- diff --git a/examples/python/reactor/scheduling.py b/examples/python/reactor/scheduling.py index f822f68..8956821 100755 --- a/examples/python/reactor/scheduling.py +++ b/examples/python/reactor/scheduling.py @@ -18,6 +18,7 @@ # under the License. # +from __future__ import print_function import time from proton.reactor import Reactor @@ -25,7 +26,7 @@ class Program: def on_reactor_init(self, event): self.start = time.time() - print "Hello, World!" + print("Hello, World!") # We can schedule a task event for some point in the future. # This will cause the reactor to stick around until it has a @@ -42,10 +43,10 @@ class Program: def on_timer_task(self, event): task = event.context # xxx: don't have a task property on event yet - print task.something_to_say, "my task is complete!" + print(task.something_to_say, "my task is complete!") def on_reactor_final(self, event): - print "Goodbye, World! (after %s long seconds)" % (time.time() - self.start) + print("Goodbye, World! (after %s long seconds)" % (time.time() - self.start)) r = Reactor(Program()) r.run() http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/reactor/tornado-hello-world.py ---------------------------------------------------------------------- diff --git a/examples/python/reactor/tornado-hello-world.py b/examples/python/reactor/tornado-hello-world.py index fa8ca83..d06cd1b 100755 --- a/examples/python/reactor/tornado-hello-world.py +++ b/examples/python/reactor/tornado-hello-world.py @@ -18,6 +18,7 @@ # under the License. # +from __future__ import print_function import tornado.ioloop from tornado_app import TornadoApp @@ -32,7 +33,7 @@ class Program: # The reactor init event is produced by the reactor itself when it # starts. def on_reactor_init(self, event): - print "Hello, World!" + print("Hello, World!") # The TornadoApp integrates a Reactor into tornado's ioloop. TornadoApp(Program()) http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/reactor/unhandled.py ---------------------------------------------------------------------- diff --git a/examples/python/reactor/unhandled.py b/examples/python/reactor/unhandled.py index 3734a71..9ab2212 100755 --- a/examples/python/reactor/unhandled.py +++ b/examples/python/reactor/unhandled.py @@ -18,6 +18,7 @@ # under the License. # +from __future__ import print_function import time from proton.reactor import Reactor @@ -28,7 +29,7 @@ class Program: # if it exists. This can be useful not only for debugging, but for # logging and for delegating/inheritance. def on_unhandled(self, name, event): - print name, event + print(name, event) r = Reactor(Program()) r.run() http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/recurring_timer.py ---------------------------------------------------------------------- diff --git a/examples/python/recurring_timer.py b/examples/python/recurring_timer.py index a39791d..b59dbe1 100755 --- a/examples/python/recurring_timer.py +++ b/examples/python/recurring_timer.py @@ -18,6 +18,7 @@ # under the License. # +from __future__ import print_function from proton.reactor import Container, Handler class Recurring(Handler): @@ -29,7 +30,7 @@ class Recurring(Handler): self.container.schedule(self.period, self) def on_timer_task(self, event): - print "Tick..." + print("Tick...") self.container.schedule(self.period, self) try: @@ -37,6 +38,6 @@ try: container.run() except KeyboardInterrupt: container.stop() - print + print() http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/recurring_timer_tornado.py ---------------------------------------------------------------------- diff --git a/examples/python/recurring_timer_tornado.py b/examples/python/recurring_timer_tornado.py index 1f1c0e7..07ebd26 100755 --- a/examples/python/recurring_timer_tornado.py +++ b/examples/python/recurring_timer_tornado.py @@ -18,6 +18,7 @@ # under the License. # +from __future__ import print_function import time from proton.reactor import Handler from proton_tornado import TornadoLoop @@ -31,7 +32,7 @@ class Recurring(Handler): self.container.schedule(time.time() + self.period, subject=self) def on_timer(self, event): - print "Tick..." + print("Tick...") self.container.schedule(time.time() + self.period, subject=self) try: @@ -39,6 +40,6 @@ try: container.run() except KeyboardInterrupt: container.stop() - print + print() http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/selected_recv.py ---------------------------------------------------------------------- diff --git a/examples/python/selected_recv.py b/examples/python/selected_recv.py index 351d4ef..2ea704b 100755 --- a/examples/python/selected_recv.py +++ b/examples/python/selected_recv.py @@ -18,6 +18,7 @@ # under the License. # +from __future__ import print_function from proton.reactor import Container, Selector from proton.handlers import MessagingHandler @@ -30,7 +31,7 @@ class Recv(MessagingHandler): event.container.create_receiver(conn, "examples", options=Selector(u"colour = 'green'")) def on_message(self, event): - print event.message.body + print(event.message.body) try: Container(Recv()).run() http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/server.py ---------------------------------------------------------------------- diff --git a/examples/python/server.py b/examples/python/server.py index 62aa162..3b0a085 100755 --- a/examples/python/server.py +++ b/examples/python/server.py @@ -18,6 +18,7 @@ # under the License. # +from __future__ import print_function from proton import Message from proton.handlers import MessagingHandler from proton.reactor import Container @@ -30,7 +31,7 @@ class Server(MessagingHandler): self.senders = {} def on_start(self, event): - print "Listening on", self.url + print("Listening on", self.url) self.container = event.container self.conn = event.container.connect(self.url) self.receiver = event.container.create_receiver(self.conn, self.address) @@ -41,7 +42,7 @@ class Server(MessagingHandler): self.relay = self.container.create_sender(self.conn, None) def on_message(self, event): - print "Received", event.message + print("Received", event.message) sender = self.relay or self.senders.get(event.message.reply_to) if not sender: sender = self.container.create_sender(self.conn, event.message.reply_to) http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/server_direct.py ---------------------------------------------------------------------- diff --git a/examples/python/server_direct.py b/examples/python/server_direct.py index 18a20f3..a9910f1 100755 --- a/examples/python/server_direct.py +++ b/examples/python/server_direct.py @@ -18,6 +18,7 @@ # under the License. # +from __future__ import print_function from proton import generate_uuid, Message from proton.handlers import MessagingHandler from proton.reactor import Container @@ -29,7 +30,7 @@ class Server(MessagingHandler): self.senders = {} def on_start(self, event): - print "Listening on", self.url + print("Listening on", self.url) self.container = event.container self.acceptor = event.container.listen(self.url) @@ -47,10 +48,10 @@ class Server(MessagingHandler): event.link.target.address = event.link.remote_target.address def on_message(self, event): - print "Received", event.message + print("Received", event.message) sender = self.senders.get(event.message.reply_to) if not sender: - print "No link for reply" + print("No link for reply") return sender.send(Message(address=event.message.reply_to, body=event.message.body.upper(), correlation_id=event.message.correlation_id)) http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/server_tx.py ---------------------------------------------------------------------- diff --git a/examples/python/server_tx.py b/examples/python/server_tx.py index 96b83cb..51e734c 100755 --- a/examples/python/server_tx.py +++ b/examples/python/server_tx.py @@ -18,6 +18,7 @@ # under the License. # +from __future__ import print_function from proton import Message from proton.reactor import Container from proton.handlers import MessagingHandler, TransactionHandler @@ -35,10 +36,10 @@ class TxRequest(TransactionHandler): event.transaction.commit() def on_transaction_committed(self, event): - print "Request processed successfully" + print("Request processed successfully") def on_transaction_aborted(self, event): - print "Request processing aborted" + print("Request processing aborted") class TxServer(MessagingHandler): http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/simple_recv.py ---------------------------------------------------------------------- diff --git a/examples/python/simple_recv.py b/examples/python/simple_recv.py index abe30cd..5322500 100755 --- a/examples/python/simple_recv.py +++ b/examples/python/simple_recv.py @@ -18,6 +18,7 @@ # under the License. # +from __future__ import print_function import optparse from proton.handlers import MessagingHandler from proton.reactor import Container @@ -37,7 +38,7 @@ class Recv(MessagingHandler): # ignore duplicate message return if self.expected == 0 or self.received < self.expected: - print event.message.body + print(event.message.body) self.received += 1 if self.received == self.expected: event.receiver.close() http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/simple_send.py ---------------------------------------------------------------------- diff --git a/examples/python/simple_send.py b/examples/python/simple_send.py index 4158272..75ab550 100755 --- a/examples/python/simple_send.py +++ b/examples/python/simple_send.py @@ -18,6 +18,7 @@ # under the License. # +from __future__ import print_function import optparse from proton import Message from proton.handlers import MessagingHandler @@ -43,7 +44,7 @@ class Send(MessagingHandler): def on_accepted(self, event): self.confirmed += 1 if self.confirmed == self.total: - print "all messages confirmed" + print("all messages confirmed") event.connection.close() def on_disconnected(self, event): http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/sync_client.py ---------------------------------------------------------------------- diff --git a/examples/python/sync_client.py b/examples/python/sync_client.py index 82cd85f..95a5650 100755 --- a/examples/python/sync_client.py +++ b/examples/python/sync_client.py @@ -23,6 +23,7 @@ Demonstrates the client side of the synchronous request-response pattern (also known as RPC or Remote Procecure Call) using proton. """ +from __future__ import print_function import optparse from proton import Message, Url, ConnectionException, Timeout @@ -48,7 +49,7 @@ try: "And the mome raths outgrabe."] for request in REQUESTS: response = client.call(Message(body=request)) - print "%s => %s" % (request, response.body) + print("%s => %s" % (request, response.body)) finally: client.connection.close() http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/tx_recv.py ---------------------------------------------------------------------- diff --git a/examples/python/tx_recv.py b/examples/python/tx_recv.py index 641f0a2..4baddcf 100755 --- a/examples/python/tx_recv.py +++ b/examples/python/tx_recv.py @@ -18,6 +18,7 @@ # under the License. # +from __future__ import print_function import optparse from proton import Url from proton.reactor import Container @@ -40,7 +41,7 @@ class TxRecv(MessagingHandler, TransactionHandler): self.transaction = None def on_message(self, event): - print event.message.body + print(event.message.body) self.transaction.accept(event.delivery) self.current_batch += 1 if self.current_batch == self.batch_size: http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/tx_recv_interactive.py ---------------------------------------------------------------------- diff --git a/examples/python/tx_recv_interactive.py b/examples/python/tx_recv_interactive.py index d08ff2b..2c1d9a7 100755 --- a/examples/python/tx_recv_interactive.py +++ b/examples/python/tx_recv_interactive.py @@ -18,6 +18,7 @@ # under the License. # +from __future__ import print_function import sys import threading from proton.reactor import ApplicationEvent, Container @@ -35,19 +36,19 @@ class TxRecv(MessagingHandler, TransactionHandler): self.transaction = None def on_message(self, event): - print event.message.body + print(event.message.body) self.transaction.accept(event.delivery) def on_transaction_declared(self, event): self.transaction = event.transaction - print "transaction declared" + print("transaction declared") def on_transaction_committed(self, event): - print "transaction committed" + print("transaction committed") self.container.declare_transaction(self.conn, handler=self) def on_transaction_aborted(self, event): - print "transaction aborted" + print("transaction aborted") self.container.declare_transaction(self.conn, handler=self) def on_commit(self, event): @@ -71,7 +72,7 @@ try: thread.daemon=True thread.start() - print "Enter 'fetch', 'commit' or 'abort'" + print("Enter 'fetch', 'commit' or 'abort'") while True: line = sys.stdin.readline() if line: http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/examples/python/tx_send.py ---------------------------------------------------------------------- diff --git a/examples/python/tx_send.py b/examples/python/tx_send.py index 0f1da5a..5e30174 100755 --- a/examples/python/tx_send.py +++ b/examples/python/tx_send.py @@ -18,6 +18,7 @@ # under the License. # +from __future__ import print_function import optparse from proton import Message, Url from proton.reactor import Container @@ -64,7 +65,7 @@ class TxSend(MessagingHandler, TransactionHandler): def on_transaction_committed(self, event): self.committed += self.current_batch if self.committed == self.total: - print "all messages committed" + print("all messages committed") event.connection.close() else: self.current_batch = 0 http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/proton-c/bindings/python/proton/__init__.py ---------------------------------------------------------------------- diff --git a/proton-c/bindings/python/proton/__init__.py b/proton-c/bindings/python/proton/__init__.py index 8a9d857..cf73a53 100644 --- a/proton-c/bindings/python/proton/__init__.py +++ b/proton-c/bindings/python/proton/__init__.py @@ -29,9 +29,10 @@ The proton APIs consist of the following classes: data. """ +from __future__ import absolute_import from cproton import * -from wrapper import Wrapper +from .wrapper import Wrapper import weakref, socket, sys, threading try: @@ -831,19 +832,19 @@ class Message(object): props = Data(pn_message_properties(self._msg)) body = Data(pn_message_body(self._msg)) - if inst.next(): + if next(inst): self.instructions = inst.get_object() else: self.instructions = None - if ann.next(): + if next(ann): self.annotations = ann.get_object() else: self.annotations = None - if props.next(): + if next(props): self.properties = props.get_object() else: self.properties = None - if body.next(): + if next(body): self.body = body.get_object() else: self.body = None @@ -2049,9 +2050,9 @@ class Data: if self.enter(): try: result = {} - while self.next(): + while next(self): k = self.get_object() - if self.next(): + if next(self): v = self.get_object() else: v = None @@ -2073,7 +2074,7 @@ class Data: if self.enter(): try: result = [] - while self.next(): + while next(self): result.append(self.get_object()) finally: self.exit() @@ -2082,9 +2083,9 @@ class Data: def get_py_described(self): if self.enter(): try: - self.next() + next(self) descriptor = self.get_object() - self.next() + next(self) value = self.get_object() finally: self.exit() @@ -2111,12 +2112,12 @@ class Data: if self.enter(): try: if described: - self.next() + next(self) descriptor = self.get_object() else: descriptor = UNDESCRIBED elements = [] - while self.next(): + while next(self): elements.append(self.get_object()) finally: self.exit() @@ -2225,7 +2226,7 @@ class Endpoint(object): assert False, "Subclass must override this!" def _get_handler(self): - import reactor + from . import reactor ractor = reactor.Reactor.wrap(pn_object_reactor(self._impl)) if ractor: on_error = ractor.on_error @@ -2235,7 +2236,7 @@ class Endpoint(object): return WrappedHandler.wrap(pn_record_get_handler(record), on_error) def _set_handler(self, handler): - import reactor + from . import reactor ractor = reactor.Reactor.wrap(pn_object_reactor(self._impl)) if ractor: on_error = ractor.on_error @@ -2291,7 +2292,7 @@ def dat2obj(dimpl): if dimpl: d = Data(dimpl) d.rewind() - d.next() + next(d) obj = d.get_object() d.rewind() return obj @@ -2883,7 +2884,7 @@ class Sender(Link): yield str(count) count += 1 self.tag_generator = simple_tags() - return self.tag_generator.next() + return next(self.tag_generator) class Receiver(Link): """ http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/proton-c/bindings/python/proton/reactor.py ---------------------------------------------------------------------- diff --git a/proton-c/bindings/python/proton/reactor.py b/proton-c/bindings/python/proton/reactor.py index 467bb76..03d8af3 100644 --- a/proton-c/bindings/python/proton/reactor.py +++ b/proton-c/bindings/python/proton/reactor.py @@ -1,3 +1,4 @@ +from __future__ import absolute_import # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file @@ -28,7 +29,7 @@ from proton import unicode2utf8, utf82unicode import traceback from proton import WrappedHandler, _chandler, secs2millis, millis2secs, timeout2millis, millis2timeout, Selectable -from wrapper import Wrapper, PYCTX +from .wrapper import Wrapper, PYCTX from cproton import * class Task(Wrapper): @@ -479,7 +480,7 @@ class Connector(Handler): self.ssl_domain = None def _connect(self, connection): - url = self.address.next() + url = next(self.address) # IoHandler uses the hostname to determine where to try to connect to connection.hostname = "%s:%i" % (url.host, url.port) logging.info("connecting to %s..." % connection.hostname) @@ -514,7 +515,7 @@ class Connector(Handler): if self.connection and self.connection.state & Endpoint.LOCAL_ACTIVE: if self.reconnect: event.transport.unbind() - delay = self.reconnect.next() + delay = next(self.reconnect) if delay == 0: logging.info("Disconnected, reconnecting...") self._connect(self.connection) @@ -560,10 +561,10 @@ class Urls(object): def next(self): try: - return self.i.next() + return next(self.i) except StopIteration: self.i = iter(self.values) - return self.i.next() + return next(self.i) class SSLConfig(object): def __init__(self): http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/proton-c/bindings/python/proton/utils.py ---------------------------------------------------------------------- diff --git a/proton-c/bindings/python/proton/utils.py b/proton-c/bindings/python/proton/utils.py index b5ecdf7..cb65fda 100644 --- a/proton-c/bindings/python/proton/utils.py +++ b/proton-c/bindings/python/proton/utils.py @@ -312,7 +312,7 @@ class SyncRequestResponse(IncomingMessageHandler): if not self.address and not request.address: raise ValueError("Request message has no address: %s" % request) request.reply_to = self.reply_to - request.correlation_id = correlation_id = self.correlation_id.next() + request.correlation_id = correlation_id = next(self.correlation_id) self.sender.send(request) def wakeup(): return self.response and (self.response.correlation_id == correlation_id) http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/proton-c/mllib/__init__.py ---------------------------------------------------------------------- diff --git a/proton-c/mllib/__init__.py b/proton-c/mllib/__init__.py index 9aa1e56..c6fccf1 100644 --- a/proton-c/mllib/__init__.py +++ b/proton-c/mllib/__init__.py @@ -22,16 +22,22 @@ This module provides document parsing and transformation utilities for both SGML and XML. """ -import os, dom, transforms, parsers, sys +from __future__ import absolute_import + +import os, sys import xml.sax, types from xml.sax.handler import ErrorHandler from xml.sax.xmlreader import InputSource from cStringIO import StringIO +from . import dom +from . import transforms +from . import parsers + def transform(node, *args): result = node for t in args: - if isinstance(t, types.ClassType): + if isinstance(t, type): t = t() result = result.dispatch(t) return result http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/proton-c/mllib/dom.py ---------------------------------------------------------------------- diff --git a/proton-c/mllib/dom.py b/proton-c/mllib/dom.py index 486f708..4cbac26 100644 --- a/proton-c/mllib/dom.py +++ b/proton-c/mllib/dom.py @@ -24,8 +24,8 @@ Simple DOM for both SGML and XML documents. from __future__ import division from __future__ import generators from __future__ import nested_scopes +from __future__ import absolute_import -import transforms class Container: @@ -109,6 +109,7 @@ class Node(Container, Component, Dispatcher): return nd def text(self): + from . import transforms return self.dispatch(transforms.Text()) def tag(self, name, *attrs, **kwargs): @@ -238,7 +239,7 @@ class Flatten(View): sources = [iter(self.source)] while sources: try: - nd = sources[-1].next() + nd = next(sources[-1]) if isinstance(nd, Tree): sources.append(iter(nd.children)) else: http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/proton-c/mllib/parsers.py ---------------------------------------------------------------------- diff --git a/proton-c/mllib/parsers.py b/proton-c/mllib/parsers.py index 3e7cc10..e71018d 100644 --- a/proton-c/mllib/parsers.py +++ b/proton-c/mllib/parsers.py @@ -20,9 +20,10 @@ """ Parsers for SGML and XML to dom. """ +from __future__ import absolute_import import sgmllib, xml.sax.handler -from dom import * +from .dom import * class Parser: http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/proton-c/mllib/transforms.py ---------------------------------------------------------------------- diff --git a/proton-c/mllib/transforms.py b/proton-c/mllib/transforms.py index 69d9912..383add3 100644 --- a/proton-c/mllib/transforms.py +++ b/proton-c/mllib/transforms.py @@ -20,8 +20,9 @@ """ Useful transforms for dom objects. """ +from __future__ import absolute_import -import dom +from . import dom from cStringIO import StringIO class Visitor: http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/proton-c/src/codec/encodings.h.py ---------------------------------------------------------------------- diff --git a/proton-c/src/codec/encodings.h.py b/proton-c/src/codec/encodings.h.py index 71fb9ea..9f08c6c 100755 --- a/proton-c/src/codec/encodings.h.py +++ b/proton-c/src/codec/encodings.h.py @@ -18,16 +18,17 @@ # under the License. # +from __future__ import print_function import mllib, optparse, os, sys xml = os.path.join(os.path.dirname(__file__), "types.xml") doc = mllib.xml_parse(xml) -print "/* generated from %s */" % xml -print "#ifndef _PROTON_ENCODINGS_H" -print "#define _PROTON_ENCODINGS_H 1" -print -print "#define PNE_DESCRIPTOR (0x00)" +print("/* generated from %s */" % xml) +print("#ifndef _PROTON_ENCODINGS_H") +print("#define _PROTON_ENCODINGS_H 1") +print() +print("#define PNE_DESCRIPTOR (0x00)") for enc in doc.query["amqp/section/type/encoding"]: name = enc["@name"] or enc.parent["@name"] @@ -35,7 +36,7 @@ for enc in doc.query["amqp/section/type/encoding"]: if name == "ieee-754": name = enc.parent["@name"] cname = "PNE_" + name.replace("-", "_").upper() - print "#define %s%s(%s)" % (cname, " "*(20-len(cname)), enc["@code"]) + print("#define %s%s(%s)" % (cname, " "*(20-len(cname)), enc["@code"])) -print -print "#endif /* encodings.h */" +print() +print("#endif /* encodings.h */") http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/proton-c/src/protocol.h.py ---------------------------------------------------------------------- diff --git a/proton-c/src/protocol.h.py b/proton-c/src/protocol.h.py index 76a2391..bbc0dfe 100644 --- a/proton-c/src/protocol.h.py +++ b/proton-c/src/protocol.h.py @@ -18,20 +18,21 @@ # under the License. # +from __future__ import print_function from protocol import * -print "/* generated */" -print "#ifndef _PROTON_PROTOCOL_H" -print "#define _PROTON_PROTOCOL_H 1" -print -print "#include \"proton/type_compat.h\"" +print("/* generated */") +print("#ifndef _PROTON_PROTOCOL_H") +print("#define _PROTON_PROTOCOL_H 1") +print() +print("#include \"proton/type_compat.h\"") fields = {} for type in TYPES: fidx = 0 for f in type.query["field"]: - print "#define %s_%s (%s)" % (field_kw(type), field_kw(f), fidx) + print("#define %s_%s (%s)" % (field_kw(type), field_kw(f), fidx)) fidx += 1 idx = 0 @@ -39,14 +40,14 @@ idx = 0 for type in TYPES: desc = type["descriptor"] name = type["@name"].upper().replace("-", "_") - print "#define %s_SYM (\"%s\")" % (name, desc["@name"]) + print("#define %s_SYM (\"%s\")" % (name, desc["@name"])) hi, lo = [int(x, 0) for x in desc["@code"].split(":")] code = (hi << 32) + lo - print "#define %s ((uint64_t) %s)" % (name, code) + print("#define %s ((uint64_t) %s)" % (name, code)) fields[code] = (type["@name"], [f["@name"] for f in type.query["field"]]) idx += 1 -print """ +print(""" #include <stddef.h> typedef struct { @@ -61,43 +62,43 @@ extern const uint16_t FIELD_NAME[]; extern const uint16_t FIELD_FIELDS[]; extern const unsigned char FIELD_MIN; extern const unsigned char FIELD_MAX; -""" +""") -print "#ifdef DEFINE_FIELDS" +print("#ifdef DEFINE_FIELDS") -print 'struct FIELD_STRINGS {' -print ' const char FIELD_STRINGS_NULL[sizeof("")];' +print('struct FIELD_STRINGS {') +print(' const char FIELD_STRINGS_NULL[sizeof("")];') strings = set() for name, fnames in fields.values(): strings.add(name) strings.update(fnames) for str in strings: istr = str.replace("-", "_"); - print ' const char FIELD_STRINGS_%s[sizeof("%s")];' % (istr, str) -print "};" -print -print 'const struct FIELD_STRINGS FIELD_STRINGS = {' -print ' "",' + print(' const char FIELD_STRINGS_%s[sizeof("%s")];' % (istr, str)) +print("};") +print() +print('const struct FIELD_STRINGS FIELD_STRINGS = {') +print(' "",') for str in strings: - print ' "%s",'% str -print "};" -print 'const char * const FIELD_STRINGPOOL = (const char * const) &FIELD_STRINGS;' -print -print "/* This is an array of offsets into FIELD_STRINGPOOL */" -print "const uint16_t FIELD_NAME[] = {" -print " offsetof(struct FIELD_STRINGS, FIELD_STRINGS_NULL)," + print(' "%s",'% str) +print("};") +print('const char * const FIELD_STRINGPOOL = (const char * const) &FIELD_STRINGS;') +print() +print("/* This is an array of offsets into FIELD_STRINGPOOL */") +print("const uint16_t FIELD_NAME[] = {") +print(" offsetof(struct FIELD_STRINGS, FIELD_STRINGS_NULL),") index = 1 for i in range(256): if i in fields: name, fnames = fields[i] iname = name.replace("-", "_"); - print ' offsetof(struct FIELD_STRINGS, FIELD_STRINGS_%s), /* %d */' % (iname, index) + print(' offsetof(struct FIELD_STRINGS, FIELD_STRINGS_%s), /* %d */' % (iname, index)) index += 1 -print "};" +print("};") -print "/* This is an array of offsets into FIELD_STRINGPOOL */" -print "const uint16_t FIELD_FIELDS[] = {" -print " offsetof(struct FIELD_STRINGS, FIELD_STRINGS_NULL)," +print("/* This is an array of offsets into FIELD_STRINGPOOL */") +print("const uint16_t FIELD_FIELDS[] = {") +print(" offsetof(struct FIELD_STRINGS, FIELD_STRINGS_NULL),") index = 1 for i in range(256): if i in fields: @@ -105,11 +106,11 @@ for i in range(256): if fnames: for f in fnames: ifname = f.replace("-", "_"); - print ' offsetof(struct FIELD_STRINGS, FIELD_STRINGS_%s), /* %d (%s) */' % (ifname, index, name) + print(' offsetof(struct FIELD_STRINGS, FIELD_STRINGS_%s), /* %d (%s) */' % (ifname, index, name)) index += 1 -print "};" +print("};") -print "const pn_fields_t FIELDS[] = {" +print("const pn_fields_t FIELDS[] = {") name_count = 1 field_count = 1 @@ -124,21 +125,21 @@ for i in range(field_min, field_max+1): if i in fields: name, fnames = fields[i] if fnames: - print ' {%d, %d, %d}, /* %d (%s) */' % (name_count, field_count, len(fnames), i, name) + print(' {%d, %d, %d}, /* %d (%s) */' % (name_count, field_count, len(fnames), i, name)) field_count += len(fnames) else: - print ' {%d, 0, 0}, /* %d (%s) */' % (name_count, i, name) + print(' {%d, 0, 0}, /* %d (%s) */' % (name_count, i, name)) name_count += 1 if i>field_max: field_max = i if i<field_min: field_min = i else: - print ' {0, 0, 0}, /* %d */' % i - -print "};" -print -print 'const unsigned char FIELD_MIN = %d;' % field_min -print 'const unsigned char FIELD_MAX = %d;' % field_max -print -print "#endif" -print -print "#endif /* protocol.h */" + print(' {0, 0, 0}, /* %d */' % i) + +print("};") +print() +print('const unsigned char FIELD_MIN = %d;' % field_min) +print('const unsigned char FIELD_MAX = %d;' % field_max) +print() +print("#endif") +print() +print("#endif /* protocol.h */") http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/tests/python/proton_tests/codec.py ---------------------------------------------------------------------- diff --git a/tests/python/proton_tests/codec.py b/tests/python/proton_tests/codec.py index 81bb4de..e8893cf 100644 --- a/tests/python/proton_tests/codec.py +++ b/tests/python/proton_tests/codec.py @@ -17,7 +17,8 @@ # under the License. # -import os, common, sys +import os, sys +from . import common from proton import * try: from uuid import uuid4 @@ -36,58 +37,58 @@ class Test(common.Test): class DataTest(Test): def testTopLevelNext(self): - assert self.data.next() is None + assert next(self.data) is None self.data.put_null() self.data.put_bool(False) self.data.put_int(0) - assert self.data.next() is None + assert next(self.data) is None self.data.rewind() - assert self.data.next() == Data.NULL - assert self.data.next() == Data.BOOL - assert self.data.next() == Data.INT - assert self.data.next() is None + assert next(self.data) == Data.NULL + assert next(self.data) == Data.BOOL + assert next(self.data) == Data.INT + assert next(self.data) is None def testNestedNext(self): - assert self.data.next() is None + assert next(self.data) is None self.data.put_null() - assert self.data.next() is None + assert next(self.data) is None self.data.put_list() - assert self.data.next() is None + assert next(self.data) is None self.data.put_bool(False) - assert self.data.next() is None + assert next(self.data) is None self.data.rewind() - assert self.data.next() is Data.NULL - assert self.data.next() is Data.LIST + assert next(self.data) is Data.NULL + assert next(self.data) is Data.LIST self.data.enter() - assert self.data.next() is None + assert next(self.data) is None self.data.put_ubyte(0) - assert self.data.next() is None + assert next(self.data) is None self.data.put_uint(0) - assert self.data.next() is None + assert next(self.data) is None self.data.put_int(0) - assert self.data.next() is None + assert next(self.data) is None self.data.exit() - assert self.data.next() is Data.BOOL - assert self.data.next() is None + assert next(self.data) is Data.BOOL + assert next(self.data) is None self.data.rewind() - assert self.data.next() is Data.NULL - assert self.data.next() is Data.LIST + assert next(self.data) is Data.NULL + assert next(self.data) is Data.LIST assert self.data.enter() - assert self.data.next() is Data.UBYTE - assert self.data.next() is Data.UINT - assert self.data.next() is Data.INT - assert self.data.next() is None + assert next(self.data) is Data.UBYTE + assert next(self.data) is Data.UINT + assert next(self.data) is Data.INT + assert next(self.data) is None assert self.data.exit() - assert self.data.next() is Data.BOOL - assert self.data.next() is None + assert next(self.data) is Data.BOOL + assert next(self.data) is None def testEnterExit(self): - assert self.data.next() is None + assert next(self.data) is None assert not self.data.enter() self.data.put_list() assert self.data.enter() - assert self.data.next() is None + assert next(self.data) is None self.data.put_list() assert self.data.enter() self.data.put_list() @@ -100,19 +101,19 @@ class DataTest(Test): assert self.data.get_list() == 1 assert not self.data.exit() assert self.data.get_list() == 1 - assert self.data.next() is None + assert next(self.data) is None self.data.rewind() - assert self.data.next() is Data.LIST + assert next(self.data) is Data.LIST assert self.data.get_list() == 1 assert self.data.enter() - assert self.data.next() is Data.LIST + assert next(self.data) is Data.LIST assert self.data.get_list() == 1 assert self.data.enter() - assert self.data.next() is Data.LIST + assert next(self.data) is Data.LIST assert self.data.get_list() == 0 assert self.data.enter() - assert self.data.next() is None + assert next(self.data) is None assert self.data.exit() assert self.data.get_list() == 0 assert self.data.exit() @@ -126,7 +127,7 @@ class DataTest(Test): """More informative exception from putters, include bad value""" try: putter(v) - except Exception, e: + except Exception: etype, value, trace = sys.exc_info() raise etype, "%s(%r): %s" % (putter.__name__, v, value), trace return putter @@ -168,7 +169,7 @@ class DataTest(Test): self.put(putter, v) self.data.exit() self.data.rewind() - assert self.data.next() == Data.ARRAY + assert next(self.data) == Data.ARRAY count, described, type = self.data.get_array() assert count == len(values), count if dtype is None: @@ -178,17 +179,17 @@ class DataTest(Test): assert type == aTYPE, type assert self.data.enter() if described: - assert self.data.next() == dTYPE + assert next(self.data) == dTYPE getter = getattr(self.data, "get_%s" % dtype) gotten = getter() assert gotten == descriptor, gotten if values: getter = getattr(self.data, "get_%s" % atype) for v in values: - assert self.data.next() == aTYPE + assert next(self.data) == aTYPE gotten = getter() assert gotten == v, gotten - assert self.data.next() is None + assert next(self.data) is None assert self.data.exit() def testStringArray(self): @@ -230,7 +231,7 @@ class DataTest(Test): self.data.rewind() for v in values: - vtype = self.data.next() + vtype = next(self.data) assert vtype == ntype, vtype gotten = getter() assert eq(gotten, v), (gotten, v) @@ -245,7 +246,7 @@ class DataTest(Test): cgetter = getattr(copy, "get_%s" % dtype) for v in values: - vtype = copy.next() + vtype = next(copy) assert vtype == ntype, vtype gotten = cgetter() assert eq(gotten, v), (gotten, v) @@ -345,7 +346,7 @@ class DataTest(Test): data = Data() data.decode(enc) data.rewind() - assert data.next() + assert next(data) copy = data.get_object() assert copy == obj, (copy, obj) @@ -355,7 +356,7 @@ class DataTest(Test): symbol("list"): [1, 2, 3, 4]} self.data.put_object(obj) self.data.rewind() - self.data.next() + next(self.data) self.data.enter() self.data.narrow() assert self.data.lookup("pi") http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/tests/python/proton_tests/common.py ---------------------------------------------------------------------- diff --git a/tests/python/proton_tests/common.py b/tests/python/proton_tests/common.py index 1b8dbdb..585ea02 100644 --- a/tests/python/proton_tests/common.py +++ b/tests/python/proton_tests/common.py @@ -27,6 +27,27 @@ from proton import Connection, Transport, SASL, Endpoint, Delivery, SSL from proton.reactor import Container from proton.handlers import CHandshaker, CFlowController +if sys.version_info[0] == 2 and sys.version_info[1] < 6: + # this is for compatibility, apparently the version of jython we + # use doesn't have the next() builtin. + # we should remove this when we upgrade to a python 2.6+ compatible version + # of jython + #_DEF = object() This causes the test loader to fail (why?) + class _dummy(): pass + _DEF = _dummy + + def next(iter, default=_DEF): + try: + return iter.next() + except StopIteration: + if default is _DEF: + raise + else: + return default + # I may goto hell for this: + import __builtin__ + __builtin__.__dict__['next'] = next + def free_tcp_ports(count=1): """ return a list of 'count' TCP ports that are free to used (ie. unbound) @@ -224,7 +245,8 @@ class MessengerApp(object): cmd.insert(0, foundfile) cmd.insert(0, sys.executable) self._process = Popen(cmd, stdout=PIPE, stderr=STDOUT, bufsize=4096) - except OSError, e: + except OSError: + e = sys.exc_info()[1] print("ERROR: '%s'" % e) assert False, "Unable to execute command '%s', is it in your PATH?" % cmd[0] self._ready() # wait for it to initialize http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/tests/python/proton_tests/engine.py ---------------------------------------------------------------------- diff --git a/tests/python/proton_tests/engine.py b/tests/python/proton_tests/engine.py index 99125d9..7835792 100644 --- a/tests/python/proton_tests/engine.py +++ b/tests/python/proton_tests/engine.py @@ -1,3 +1,4 @@ +from __future__ import absolute_import # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file @@ -17,10 +18,11 @@ # under the License. # -import os, common, gc +import os, gc +from . import common from time import time, sleep from proton import * -from common import pump +from .common import pump from proton.reactor import Reactor # older versions of gc do not provide the garbage list @@ -1836,7 +1838,7 @@ class PipelineTest(Test): assert rcv.queued == 0, rcv.queued import sys -from common import Skipped +from .common import Skipped class ServerTest(Test): http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/tests/python/proton_tests/interop.py ---------------------------------------------------------------------- diff --git a/tests/python/proton_tests/interop.py b/tests/python/proton_tests/interop.py index baf998d..1ef92dd 100644 --- a/tests/python/proton_tests/interop.py +++ b/tests/python/proton_tests/interop.py @@ -18,7 +18,8 @@ # from proton import * -import os, common +import os +from . import common def find_test_interop_dir(): @@ -70,7 +71,7 @@ class InteropTest(common.Test): self.decode_data(body) def assert_next(self, type, value): - next_type = self.data.next() + next_type = next(self.data) assert next_type == type, "Type mismatch: %s != %s"%( Data.type_names[next_type], Data.type_names[type]) next_value = self.data.get_object() @@ -79,7 +80,7 @@ class InteropTest(common.Test): def test_message(self): self.decode_message_file("message") self.assert_next(Data.STRING, "hello") - assert self.data.next() is None + assert next(self.data) is None def test_primitives(self): self.decode_data_file("primitives") @@ -94,7 +95,7 @@ class InteropTest(common.Test): self.assert_next(Data.LONG, -12345) self.assert_next(Data.FLOAT, 0.125) self.assert_next(Data.DOUBLE, 0.125) - assert self.data.next() is None + assert next(self.data) is None def test_strings(self): self.decode_data_file("strings") @@ -104,20 +105,20 @@ class InteropTest(common.Test): self.assert_next(Data.BINARY, "") self.assert_next(Data.STRING, "") self.assert_next(Data.SYMBOL, "") - assert self.data.next() is None + assert next(self.data) is None def test_described(self): self.decode_data_file("described") self.assert_next(Data.DESCRIBED, Described("foo-descriptor", "foo-value")) self.data.exit() - assert self.data.next() == Data.DESCRIBED + assert next(self.data) == Data.DESCRIBED self.data.enter() self.assert_next(Data.INT, 12) self.assert_next(Data.INT, 13) self.data.exit() - assert self.data.next() is None + assert next(self.data) is None def test_described_array(self): self.decode_data_file("described_array") @@ -128,17 +129,17 @@ class InteropTest(common.Test): self.assert_next(Data.ARRAY, Array(UNDESCRIBED, Data.INT, *range(0,100))) self.assert_next(Data.ARRAY, Array(UNDESCRIBED, Data.STRING, *["a", "b", "c"])) self.assert_next(Data.ARRAY, Array(UNDESCRIBED, Data.INT)) - assert self.data.next() is None + assert next(self.data) is None def test_lists(self): self.decode_data_file("lists") self.assert_next(Data.LIST, [32, "foo", True]) self.assert_next(Data.LIST, []) - assert self.data.next() is None + assert next(self.data) is None def test_maps(self): self.decode_data_file("maps") self.assert_next(Data.MAP, {"one":1, "two":2, "three":3 }) self.assert_next(Data.MAP, {1:"one", 2:"two", 3:"three"}) self.assert_next(Data.MAP, {}) - assert self.data.next() is None + assert next(self.data) is None http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/tests/python/proton_tests/message.py ---------------------------------------------------------------------- diff --git a/tests/python/proton_tests/message.py b/tests/python/proton_tests/message.py index 6bf94fe..3366366 100644 --- a/tests/python/proton_tests/message.py +++ b/tests/python/proton_tests/message.py @@ -17,7 +17,8 @@ # under the License. # -import os, common +import os +from . import common from proton import * try: from uuid import uuid4 http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/tests/python/proton_tests/messenger.py ---------------------------------------------------------------------- diff --git a/tests/python/proton_tests/messenger.py b/tests/python/proton_tests/messenger.py index c7c7dd3..03a1b6b 100644 --- a/tests/python/proton_tests/messenger.py +++ b/tests/python/proton_tests/messenger.py @@ -1,3 +1,4 @@ +from __future__ import absolute_import # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file @@ -17,11 +18,12 @@ # under the License. # -import os, common, sys, traceback +import os, sys, traceback +from . import common from proton import * from threading import Thread, Event from time import sleep, time -from common import Skipped +from .common import Skipped class Test(common.Test): @@ -180,7 +182,8 @@ class MessengerTest(Test): try: self.client.put(msg) assert False, "Expecting MessengerException" - except MessengerException, exc: + except MessengerException: + exc = sys.exc_info()[1] err = str(exc) assert "unable to send to address: totally-bogus-address" in err, err http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/tests/python/proton_tests/reactor.py ---------------------------------------------------------------------- diff --git a/tests/python/proton_tests/reactor.py b/tests/python/proton_tests/reactor.py index 4e660a5..6afee30 100644 --- a/tests/python/proton_tests/reactor.py +++ b/tests/python/proton_tests/reactor.py @@ -1,3 +1,4 @@ +from __future__ import absolute_import # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file @@ -17,7 +18,7 @@ # under the License. # -from common import Test +from .common import Test from proton.reactor import Reactor class Barf(Exception): http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/tests/python/proton_tests/sasl.py ---------------------------------------------------------------------- diff --git a/tests/python/proton_tests/sasl.py b/tests/python/proton_tests/sasl.py index 68fb6e3..4d569bc 100644 --- a/tests/python/proton_tests/sasl.py +++ b/tests/python/proton_tests/sasl.py @@ -1,3 +1,4 @@ +from __future__ import absolute_import # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file @@ -17,9 +18,10 @@ # under the License. # -import sys, os, common +import sys, os +from . import common from proton import * -from common import pump, Skipped +from .common import pump, Skipped class Test(common.Test): pass http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/tests/python/proton_tests/soak.py ---------------------------------------------------------------------- diff --git a/tests/python/proton_tests/soak.py b/tests/python/proton_tests/soak.py index 9e5ceab..0a6e693 100644 --- a/tests/python/proton_tests/soak.py +++ b/tests/python/proton_tests/soak.py @@ -1,3 +1,4 @@ +from __future__ import absolute_import # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file @@ -18,7 +19,7 @@ # import os import sys -from common import Test, Skipped, free_tcp_ports, \ +from .common import Test, Skipped, free_tcp_ports, \ MessengerReceiverC, MessengerSenderC, \ MessengerReceiverValgrind, MessengerSenderValgrind, \ MessengerReceiverPython, MessengerSenderPython, \ http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/903c7246/tests/python/proton_tests/ssl.py ---------------------------------------------------------------------- diff --git a/tests/python/proton_tests/ssl.py b/tests/python/proton_tests/ssl.py index f5fae3f..fd5aaf1 100644 --- a/tests/python/proton_tests/ssl.py +++ b/tests/python/proton_tests/ssl.py @@ -1,3 +1,4 @@ +from __future__ import absolute_import # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file @@ -17,13 +18,14 @@ # under the License. # -import os, common +import os +from . import common import random import string import subprocess from proton import * -from common import Skipped, pump +from .common import Skipped, pump def _testpath(file): @@ -791,7 +793,7 @@ class SslTest(common.Test): try: ssl3 = SSL(transport, self.server_domain) assert False, "Expected error did not occur!" - except SSLException, e: + except SSLException: pass class MessengerSSLTests(common.Test): @@ -834,7 +836,8 @@ class MessengerSSLTests(common.Test): self.server.subscribe("amqps://~0.0.0.0:12345") if exception is not None: assert False, "expected failure did not occur" - except MessengerException, e: + except MessengerException: + e = sys.exc_info()[1] if exception: assert exception in str(e), str(e) else: --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
