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 ")