summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOmer Katz <omer.drow@gmail.com>2020-08-30 20:19:10 +0300
committerAsif Saif Uddin <auvipy@gmail.com>2020-08-31 14:05:09 +0600
commitb82a2d56fe110bd2699301288f3202fd3c17258b (patch)
tree0af533038f6230d33cde286cc3decf77893ed83d
parentafe42444e7b9c618526b18ff66da2c5849c86272 (diff)
downloadpy-amqp-b82a2d56fe110bd2699301288f3202fd3c17258b.tar.gz
Happify linters.
-rw-r--r--amqp/channel.py9
-rw-r--r--amqp/connection.py7
-rw-r--r--amqp/method_framing.py8
-rw-r--r--amqp/platform.py8
-rw-r--r--amqp/serialization.py4
-rw-r--r--amqp/transport.py1
-rw-r--r--requirements/pkgutils.txt3
-rw-r--r--t/unit/test_transport.py95
8 files changed, 65 insertions, 70 deletions
diff --git a/amqp/channel.py b/amqp/channel.py
index 7850fdc..5f33b0f 100644
--- a/amqp/channel.py
+++ b/amqp/channel.py
@@ -208,12 +208,9 @@ class Channel(AbstractChannel):
is the ID of the method.
"""
try:
- is_closed = (
- not self.is_open or
- self.connection is None or
- self.connection.channels is None
- )
- if is_closed:
+ connection_empty = self.connection is None
+ channels_empty = self.connection.channels is None
+ if not self.is_open or connection_empty or channels_empty:
return
self.is_closing = True
diff --git a/amqp/connection.py b/amqp/connection.py
index 4dcf650..8936d8d 100644
--- a/amqp/connection.py
+++ b/amqp/connection.py
@@ -752,9 +752,10 @@ class Connection(AbstractChannel):
# if we've missed two intervals' heartbeats, fail; this gives the
# server enough time to send heartbeats a little late
- if (self.last_heartbeat_received and
- self.last_heartbeat_received + 2 *
- self.heartbeat < monotonic()):
+ two_heartbeats = 2 * self.heartbeat
+ two_heartbeats_interval = self.last_heartbeat_received + two_heartbeats
+ heartbeats_missed = two_heartbeats_interval < monotonic()
+ if self.last_heartbeat_received and heartbeats_missed:
raise ConnectionForced('Too many heartbeats missed')
@property
diff --git a/amqp/method_framing.py b/amqp/method_framing.py
index 10cc79a..39be438 100644
--- a/amqp/method_framing.py
+++ b/amqp/method_framing.py
@@ -125,12 +125,8 @@ def frame_writer(connection, transport,
body = body.encode(encoding)
properties = content._serialize_properties()
bodylen = len(body)
- framelen = (
- len(args) +
- (len(properties) or 0) +
- bodylen +
- FRAME_OVERHEAD
- )
+ properties_len = len(properties) or 0
+ framelen = len(args) + properties_len + bodylen + FRAME_OVERHEAD
bigbody = framelen > chunk_size
else:
body, bodylen, bigbody = None, 0, 0
diff --git a/amqp/platform.py b/amqp/platform.py
index dfafdc8..67462be 100644
--- a/amqp/platform.py
+++ b/amqp/platform.py
@@ -5,6 +5,8 @@ import re
import sys
# Jython does not have this attribute
+import typing
+
try:
from socket import SOL_TCP
except ImportError: # pragma: no cover
@@ -14,13 +16,11 @@ except ImportError: # pragma: no cover
RE_NUM = re.compile(r'(\d+).+')
-def _linux_version_to_tuple(s):
- # type: (str) -> Tuple[int, int, int]
+def _linux_version_to_tuple(s: str) -> typing.Tuple[int, int, int]:
return tuple(map(_versionatom, s.split('.')[:3]))
-def _versionatom(s):
- # type: (str) -> int
+def _versionatom(s: str) -> int:
if s.isdigit():
return int(s)
match = RE_NUM.match(s)
diff --git a/amqp/serialization.py b/amqp/serialization.py
index 75b082e..e441c9d 100644
--- a/amqp/serialization.py
+++ b/amqp/serialization.py
@@ -340,10 +340,10 @@ def _write_table(d, write, bits):
write(table_data)
-def _write_array(l, write, bits):
+def _write_array(list_, write, bits):
out = BytesIO()
awrite = out.write
- for v in l:
+ for v in list_:
try:
_write_item(v, awrite, bits)
except ValueError:
diff --git a/amqp/transport.py b/amqp/transport.py
index afd5cd8..df78c1a 100644
--- a/amqp/transport.py
+++ b/amqp/transport.py
@@ -344,7 +344,6 @@ class SSLTransport(_AbstractTransport):
Default `ssl.wrap_socket` method augmented with support for
setting the server_hostname field required for SNI hostname header
"""
-
opts = {
'sock': sock,
'keyfile': keyfile,
diff --git a/requirements/pkgutils.txt b/requirements/pkgutils.txt
index 331fc12..88a1d80 100644
--- a/requirements/pkgutils.txt
+++ b/requirements/pkgutils.txt
@@ -1,7 +1,6 @@
setuptools>=20.6.7
wheel>=0.29.0
-flake8==3.5.0
-flakeplus>=1.1
+flake8==3.8.3
tox>=2.3.1
sphinx2rst>=1.0
bumpversion
diff --git a/t/unit/test_transport.py b/t/unit/test_transport.py
index 7e17a17..3ecf717 100644
--- a/t/unit/test_transport.py
+++ b/t/unit/test_transport.py
@@ -28,8 +28,10 @@ class MockSocket(object):
self.sa = None
def setsockopt(self, family, key, value):
- if (family == socket.SOL_SOCKET and
- key in (socket.SO_RCVTIMEO, socket.SO_SNDTIMEO)):
+ is_sol_socket = family == socket.SOL_SOCKET
+ is_receive_or_send_timeout = key in (socket.SO_RCVTIMEO,
+ socket.SO_SNDTIMEO)
+ if is_sol_socket and is_receive_or_send_timeout:
self.options[key] = value
elif not isinstance(value, int):
raise socket.error()
@@ -215,8 +217,8 @@ class test_socket_options:
read_timeout_sec, read_timeout_usec = 0xdead, 0xbeef
write_timeout_sec = 0x42
- self.transp.read_timeout = read_timeout_sec + \
- read_timeout_usec * 0.000001
+ read_timeout = read_timeout_sec + read_timeout_usec * 0.000001
+ self.transp.read_timeout = read_timeout
self.transp.write_timeout = write_timeout_sec
self.transp.connect()
@@ -230,7 +232,6 @@ class test_socket_options:
class test_AbstractTransport:
-
class Transport(transport._AbstractTransport):
def _connect(self, *args):
@@ -318,6 +319,7 @@ class test_AbstractTransport:
self.t._read.return_value = b'thequickbrownfox'
self.t._read.side_effect = on_read2
return ret
+
self.t._read.return_value = pack('>BHI', 1, 1, 16)
self.t._read.side_effect = on_read1
@@ -338,9 +340,9 @@ class test_AbstractTransport:
assert payload == b'read1read2'
def transport_read_EOF(self):
- for host, ssl in (('localhost:5672', False),
- ('localhost:5671', True),):
- self.t = transport.Transport(host, ssl)
+ for host, is_ssl in (('localhost:5672', False),
+ ('localhost:5671', True),):
+ self.t = transport.Transport(host, is_ssl)
self.t.sock = Mock(name='socket')
self.t.connected = True
self.t._quick_recv = Mock(name='recv', return_value='')
@@ -441,7 +443,6 @@ class test_AbstractTransport:
class test_AbstractTransport_connect:
-
class Transport(transport._AbstractTransport):
def _init_socket(self, *args):
@@ -460,13 +461,13 @@ class test_AbstractTransport_connect:
def test_connect_socket_initialization_fails(self):
with patch('socket.socket', side_effect=socket.error), \
- patch('socket.getaddrinfo',
- return_value=[
- (socket.AF_INET, 1, socket.IPPROTO_TCP,
- '', ('127.0.0.1', 5672)),
- (socket.AF_INET, 1, socket.IPPROTO_TCP,
- '', ('127.0.0.2', 5672))
- ]):
+ patch('socket.getaddrinfo',
+ return_value=[
+ (socket.AF_INET, 1, socket.IPPROTO_TCP,
+ '', ('127.0.0.1', 5672)),
+ (socket.AF_INET, 1, socket.IPPROTO_TCP,
+ '', ('127.0.0.2', 5672))
+ ]):
with pytest.raises(socket.error):
self.t.connect()
assert self.t.sock is None and self.t.connected is False
@@ -476,9 +477,9 @@ class test_AbstractTransport_connect:
patch('socket.getaddrinfo',
return_value=[
(socket.AF_INET, 1, socket.IPPROTO_TCP,
- '', ('127.0.0.1', 5672)),
+ '', ('127.0.0.1', 5672)),
(socket.AF_INET, 1, socket.IPPROTO_TCP,
- '', ('127.0.0.2', 5672))
+ '', ('127.0.0.2', 5672))
]):
self.t.sock = Mock()
self.t.close()
@@ -492,9 +493,9 @@ class test_AbstractTransport_connect:
patch('socket.getaddrinfo',
return_value=[
(socket.AF_INET, 1, socket.IPPROTO_TCP,
- '', ('127.0.0.1', 5672)),
+ '', ('127.0.0.1', 5672)),
(socket.AF_INET, 1, socket.IPPROTO_TCP,
- '', ('127.0.0.2', 5672))
+ '', ('127.0.0.2', 5672))
]):
self.t.sock = Mock()
self.t.close()
@@ -504,13 +505,13 @@ class test_AbstractTransport_connect:
def test_connect_short_curcuit_on_INET_succeed(self):
with patch('socket.socket', return_value=MockSocket()), \
- patch('socket.getaddrinfo',
- side_effect=[
- [(socket.AF_INET, 1, socket.IPPROTO_TCP,
- '', ('127.0.0.1', 5672))],
- [(socket.AF_INET6, 1, socket.IPPROTO_TCP,
- '', ('::1', 5672))]
- ]) as getaddrinfo:
+ patch('socket.getaddrinfo',
+ side_effect=[
+ [(socket.AF_INET, 1, socket.IPPROTO_TCP,
+ '', ('127.0.0.1', 5672))],
+ [(socket.AF_INET6, 1, socket.IPPROTO_TCP,
+ '', ('::1', 5672))]
+ ]) as getaddrinfo:
self.t.sock = Mock()
self.t.close()
self.t.connect()
@@ -522,9 +523,9 @@ class test_AbstractTransport_connect:
patch('socket.getaddrinfo',
side_effect=[
[(socket.AF_INET, 1, socket.IPPROTO_TCP,
- '', ('127.0.0.1', 5672))],
+ '', ('127.0.0.1', 5672))],
[(socket.AF_INET6, 1, socket.IPPROTO_TCP,
- '', ('::1', 5672))]
+ '', ('::1', 5672))]
]) as getaddrinfo:
self.t.sock = Mock()
self.t.close()
@@ -542,19 +543,19 @@ class test_AbstractTransport_connect:
def test_connect_getaddrinfo_raises_gaierror_once_recovers(self):
with patch('socket.socket', return_value=MockSocket()), \
- patch('socket.getaddrinfo',
- side_effect=[
- socket.gaierror,
- [(socket.AF_INET6, 1, socket.IPPROTO_TCP,
- '', ('::1', 5672))]
- ]):
+ patch('socket.getaddrinfo',
+ side_effect=[
+ socket.gaierror,
+ [(socket.AF_INET6, 1, socket.IPPROTO_TCP,
+ '', ('::1', 5672))]
+ ]):
self.t.connect()
def test_connect_survives_not_implemented_set_cloexec(self):
with patch('socket.socket', return_value=MockSocket()), \
- patch('socket.getaddrinfo',
- return_value=[(socket.AF_INET, 1, socket.IPPROTO_TCP,
- '', ('127.0.0.1', 5672))]):
+ patch('socket.getaddrinfo',
+ return_value=[(socket.AF_INET, 1, socket.IPPROTO_TCP,
+ '', ('127.0.0.1', 5672))]):
with patch('amqp.transport.set_cloexec',
side_effect=NotImplementedError) as cloexec_mock:
self.t.connect()
@@ -571,7 +572,6 @@ class test_AbstractTransport_connect:
class test_SSLTransport:
-
class Transport(transport.SSLTransport):
def _connect(self, *args):
@@ -605,8 +605,8 @@ class test_SSLTransport:
self.t._wrap_context.assert_called_with(sock, {'foo': 1}, c=2)
def test_wrap_context(self):
- with patch('ssl.create_default_context', create=True) \
- as create_default_context:
+ with patch('ssl.create_default_context',
+ create=True) as create_default_context:
sock = Mock()
self.t._wrap_context(sock, {'f': 1}, check_hostname=True, bar=3)
create_default_context.assert_called_with(bar=3)
@@ -618,10 +618,14 @@ class test_SSLTransport:
sock = Mock()
with patch('ssl.wrap_socket') as mock_ssl_wrap:
self.t._wrap_socket_sni(sock)
- mock_ssl_wrap.assert_called_with(cert_reqs=0, certfile=None,
- keyfile=None, sock=sock,
- ca_certs=None, server_side=False,
- ciphers=None, ssl_version=ssl.PROTOCOL_TLS,
+ mock_ssl_wrap.assert_called_with(cert_reqs=0,
+ certfile=None,
+ keyfile=None,
+ sock=sock,
+ ca_certs=None,
+ server_side=False,
+ ciphers=None,
+ ssl_version=ssl.PROTOCOL_TLS,
suppress_ragged_eofs=True,
do_handshake_on_connect=False)
@@ -680,7 +684,6 @@ class test_SSLTransport:
class test_TCPTransport:
-
class Transport(transport.TCPTransport):
def _connect(self, *args):