QPID-8631: fill-in the Python 2 types that are missing in Python 3
diff --git a/mllib/dom.py b/mllib/dom.py index 49ba0d0..0012d66 100644 --- a/mllib/dom.py +++ b/mllib/dom.py
@@ -26,6 +26,11 @@ from __future__ import generators from __future__ import nested_scopes +try: + basestring +except NameError: + basestring = str + import mllib.transforms try:
diff --git a/qpid/codec.py b/qpid/codec.py index 4ee38ef..f302955 100644 --- a/qpid/codec.py +++ b/qpid/codec.py
@@ -34,6 +34,21 @@ from .reference import ReferenceId from logging import getLogger +try: + basestring +except: + basestring = bytes + +try: + unicode +except NameError: + unicode = str + +try: + long +except NameError: + long = int + log = getLogger("qpid.codec") class EOF(Exception):
diff --git a/qpid/management.py b/qpid/management.py index 1f11535..3cd9376 100644 --- a/qpid/management.py +++ b/qpid/management.py
@@ -39,6 +39,10 @@ from .codec010 import StringCodec as Codec from threading import Lock, Condition +try: + long +except NameError: + long = int class SequenceManager: """ Manage sequence numbers for asynchronous method calls """
diff --git a/qpid/managementdata.py b/qpid/managementdata.py index 514dd6f..4092b5d 100644 --- a/qpid/managementdata.py +++ b/qpid/managementdata.py
@@ -41,6 +41,11 @@ from qpid.connection import Connection from qpid.util import connect +try: + long +except NameError: + long = int + class Broker: def __init__ (self, text): rex = re.compile(r"""
diff --git a/qpid/messaging/driver.py b/qpid/messaging/driver.py index ae2d4e6..223f001 100644 --- a/qpid/messaging/driver.py +++ b/qpid/messaging/driver.py
@@ -37,6 +37,16 @@ from qpid.validator import And, Context, List, Map, Types, Values from threading import Condition, Thread +try: + basestring +except NameError: + basestring = str + +try: + long +except NameError: + long = int + log = getLogger("qpid.messaging") rawlog = getLogger("qpid.messaging.io.raw") opslog = getLogger("qpid.messaging.io.ops")
diff --git a/qpid/messaging/endpoints.py b/qpid/messaging/endpoints.py index 95db77e..1ab663f 100644 --- a/qpid/messaging/endpoints.py +++ b/qpid/messaging/endpoints.py
@@ -41,6 +41,11 @@ from qpid.util import default, URL from threading import Thread, RLock +try: + basestring +except NameError: + basestring = str + log = getLogger("qpid.messaging") static = staticmethod
diff --git a/qpid/messaging/message.py b/qpid/messaging/message.py index 3891665..e29fe04 100644 --- a/qpid/messaging/message.py +++ b/qpid/messaging/message.py
@@ -21,6 +21,16 @@ from qpid.codec010 import StringCodec from qpid.ops import PRIMITIVE +try: + unicode +except NameError: + unicode = str + +try: + buffer +except NameError: + buffer = memoryview + def codec(name): type = PRIMITIVE[name] @@ -44,7 +54,7 @@ unicode: "text/plain; charset=utf8", unicode: "text/plain", buffer: None, - str: None, + bytes: None, None.__class__: None }
diff --git a/qpid/peer.py b/qpid/peer.py index 290ff3f..82dcac4 100644 --- a/qpid/peer.py +++ b/qpid/peer.py
@@ -38,6 +38,16 @@ from .exceptions import Closed, Timeout, ContentError from logging import getLogger +try: + basestring +except NameError: + basestring = str + +try: + buffer +except NameError: + buffer = memoryview + log = getLogger("qpid.peer") class Sequence: @@ -273,7 +283,7 @@ if not isinstance(content.body, (basestring, buffer)): # The 0-8..0-91 client does not support the messages bodies apart from string/buffer - fail early # if other type - raise ContentError("Content body must be string or buffer, not a %s" % type(content.body)) + raise ContentError("Content body must be bytes or buffer, not a %s" % type(content.body)) frame_max = self.client.tune_params['frame_max'] - self.client.conn.AMQP_HEADER_SIZE for chunk in (content.body[i:i + frame_max] for i in range(0, len(content.body), frame_max)): self.write(Body(chunk))
diff --git a/qpid/tests/codec010.py b/qpid/tests/codec010.py index 7f22b89..80d7137 100644 --- a/qpid/tests/codec010.py +++ b/qpid/tests/codec010.py
@@ -25,6 +25,16 @@ from qpid.datatypes import timestamp, uuid4 from qpid.ops import PRIMITIVE +try: + long +except NameError: + long = int + +try: + buffer +except NameError: + buffer = memoryview + class CodecTest(TestCase): def check(self, type, value, compare=True):
diff --git a/qpid/tests/messaging/address.py b/qpid/tests/messaging/address.py index c1860ab..2730e55 100644 --- a/qpid/tests/messaging/address.py +++ b/qpid/tests/messaging/address.py
@@ -26,6 +26,11 @@ from qpid.harness import Skipped from qpid.tests.parser import ParserBase +try: + basestring +except NameError: + basestring = str + def indent(st): return " " + st.replace("\n", "\n ")