From 3cbf1630ac5ccd93b8c7a4478a589715a9139237 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Tue, 21 Aug 2018 17:17:29 +0200 Subject: [PATCH 1/4] renamed async module to asynchronous --- examples/common/async_asyncio_client.py | 8 +-- .../common/async_asyncio_serial_client.py | 4 +- examples/common/async_tornado_client.py | 6 +- .../common/async_tornado_client_serial.py | 4 +- examples/common/async_twisted_client.py | 8 +-- .../common/async_twisted_client_serial.py | 6 +- examples/common/asynchronous_processor.py | 2 +- .../asynchronous_asyncio_serial_client.py | 4 +- examples/contrib/modbus_scraper.py | 2 +- .../functional/asynchronous_ascii_client.py | 2 +- .../functional/asynchronous_rtu_client.py | 2 +- .../functional/asynchronous_tcp_client.py | 2 +- .../{async => asynchronous}/__init__.py | 16 ++--- .../asyncio/__init__.py | 2 +- .../factory/__init__.py | 0 .../{async => asynchronous}/factory/serial.py | 10 +-- .../{async => asynchronous}/factory/tcp.py | 10 +-- .../{async => asynchronous}/factory/udp.py | 8 +-- .../schedulers/__init__.py | 0 .../client/{async => asynchronous}/serial.py | 6 +- .../client/{async => asynchronous}/tcp.py | 6 +- .../client/{async => asynchronous}/thread.py | 0 .../tornado/__init__.py | 4 +- .../twisted/__init__.py | 6 +- .../client/{async => asynchronous}/udp.py | 6 +- test/test_client_async.py | 28 ++++---- test/test_client_async_asyncio.py | 14 ++-- test/test_client_async_tornado.py | 66 +++++++++---------- test/test_client_async_twisted.py | 6 +- test/test_server_async.py | 2 +- 30 files changed, 120 insertions(+), 120 deletions(-) rename pymodbus/client/{async => asynchronous}/__init__.py (85%) rename pymodbus/client/{async => asynchronous}/asyncio/__init__.py (99%) rename pymodbus/client/{async => asynchronous}/factory/__init__.py (100%) rename pymodbus/client/{async => asynchronous}/factory/serial.py (91%) rename pymodbus/client/{async => asynchronous}/factory/tcp.py (90%) rename pymodbus/client/{async => asynchronous}/factory/udp.py (91%) rename pymodbus/client/{async => asynchronous}/schedulers/__init__.py (100%) rename pymodbus/client/{async => asynchronous}/serial.py (92%) rename pymodbus/client/{async => asynchronous}/tcp.py (88%) rename pymodbus/client/{async => asynchronous}/thread.py (100%) rename pymodbus/client/{async => asynchronous}/tornado/__init__.py (98%) rename pymodbus/client/{async => asynchronous}/twisted/__init__.py (97%) rename pymodbus/client/{async => asynchronous}/udp.py (88%) diff --git a/examples/common/async_asyncio_client.py b/examples/common/async_asyncio_client.py index e9501a63a..7a0b8c6d9 100644 --- a/examples/common/async_asyncio_client.py +++ b/examples/common/async_asyncio_client.py @@ -15,10 +15,10 @@ # ----------------------------------------------------------------------- # # Import the required async client # ----------------------------------------------------------------------- # - from pymodbus.client.async.tcp import AsyncModbusTCPClient as ModbusClient - # from pymodbus.client.async.udp import ( + from pymodbus.client.asynchronous.tcp import AsyncModbusTCPClient as ModbusClient + # from pymodbus.client.asynchronous.udp import ( # AsyncModbusUDPClient as ModbusClient) - from pymodbus.client.async import schedulers + from pymodbus.client.asynchronous import schedulers else: import sys @@ -66,7 +66,7 @@ async def start_async_test(client): # are not known to these tests. Furthermore, some use the same memory # blocks for the two sets, so a change to one is a change to the other. # Keep both of these cases in mind when testing as the following will - # _only_ pass with the supplied async modbus server (script supplied). + # _only_ pass with the supplied asynchronous modbus server (script supplied). # ----------------------------------------------------------------------- # log.debug("Write to a Coil and read back") rq = await client.write_coil(0, True, unit=UNIT) diff --git a/examples/common/async_asyncio_serial_client.py b/examples/common/async_asyncio_serial_client.py index 1ac6c4c87..d5ce8d117 100755 --- a/examples/common/async_asyncio_serial_client.py +++ b/examples/common/async_asyncio_serial_client.py @@ -12,9 +12,9 @@ if IS_PYTHON3 and PYTHON_VERSION >= (3, 4): import logging import asyncio - from pymodbus.client.async.serial import ( + from pymodbus.client.asynchronous.serial import ( AsyncModbusSerialClient as ModbusClient) - from pymodbus.client.async import schedulers + from pymodbus.client.asynchronous import schedulers else: import sys sys.stderr("This example needs to be run only on python 3.4 and above") diff --git a/examples/common/async_tornado_client.py b/examples/common/async_tornado_client.py index 4c3d7efd2..c35ef7cdd 100755 --- a/examples/common/async_tornado_client.py +++ b/examples/common/async_tornado_client.py @@ -9,14 +9,14 @@ import functools from tornado.ioloop import IOLoop -from pymodbus.client.async import schedulers +from pymodbus.client.asynchronous import schedulers # ---------------------------------------------------------------------------# # choose the requested modbus protocol # ---------------------------------------------------------------------------# -# from pymodbus.client.async.udp import AsyncModbusUDPClient as ModbusClient -from pymodbus.client.async.tcp import AsyncModbusTCPClient as ModbusClient +# from pymodbus.client.asynchronous.udp import AsyncModbusUDPClient as ModbusClient +from pymodbus.client.asynchronous.tcp import AsyncModbusTCPClient as ModbusClient # ---------------------------------------------------------------------------# # configure the client logging diff --git a/examples/common/async_tornado_client_serial.py b/examples/common/async_tornado_client_serial.py index a3f4cb1fb..74ee932e8 100755 --- a/examples/common/async_tornado_client_serial.py +++ b/examples/common/async_tornado_client_serial.py @@ -12,13 +12,13 @@ import functools from tornado.ioloop import IOLoop -from pymodbus.client.async import schedulers +from pymodbus.client.asynchronous import schedulers # ---------------------------------------------------------------------------# # choose the requested modbus protocol # ---------------------------------------------------------------------------# -from pymodbus.client.async.serial import AsyncModbusSerialClient +from pymodbus.client.asynchronous.serial import AsyncModbusSerialClient # ---------------------------------------------------------------------------# # configure the client logging diff --git a/examples/common/async_twisted_client.py b/examples/common/async_twisted_client.py index 5489057f1..615ddde19 100755 --- a/examples/common/async_twisted_client.py +++ b/examples/common/async_twisted_client.py @@ -11,15 +11,15 @@ # --------------------------------------------------------------------------- # from twisted.internet import reactor -from pymodbus.client.async.tcp import AsyncModbusTCPClient -# from pymodbus.client.async.udp import AsyncModbusUDPClient -from pymodbus.client.async import schedulers +from pymodbus.client.asynchronous.tcp import AsyncModbusTCPClient +# from pymodbus.client.asynchronous.udp import AsyncModbusUDPClient +from pymodbus.client.asynchronous import schedulers # --------------------------------------------------------------------------- # # choose the requested modbus protocol # --------------------------------------------------------------------------- # -#from pymodbus.client.async import ModbusUdpClientProtocol +#from pymodbus.client.asynchronous import ModbusUdpClientProtocol # --------------------------------------------------------------------------- # # configure the client logging diff --git a/examples/common/async_twisted_client_serial.py b/examples/common/async_twisted_client_serial.py index 056a0e646..f7230cb93 100755 --- a/examples/common/async_twisted_client_serial.py +++ b/examples/common/async_twisted_client_serial.py @@ -8,9 +8,9 @@ """ from twisted.internet import reactor -from pymodbus.client.async import schedulers -from pymodbus.client.async.serial import AsyncModbusSerialClient -from pymodbus.client.async.twisted import ModbusClientProtocol +from pymodbus.client.asynchronous import schedulers +from pymodbus.client.asynchronous.serial import AsyncModbusSerialClient +from pymodbus.client.asynchronous.twisted import ModbusClientProtocol import logging logging.basicConfig() diff --git a/examples/common/asynchronous_processor.py b/examples/common/asynchronous_processor.py index a5a6841ca..9535734bd 100755 --- a/examples/common/asynchronous_processor.py +++ b/examples/common/asynchronous_processor.py @@ -12,7 +12,7 @@ from twisted.internet import serialport, reactor from twisted.internet.protocol import ClientFactory from pymodbus.factory import ClientDecoder -from pymodbus.client.async.twisted import ModbusClientProtocol +from pymodbus.client.asynchronous.twisted import ModbusClientProtocol # --------------------------------------------------------------------------- # # Choose the framer you want to use diff --git a/examples/contrib/asynchronous_asyncio_serial_client.py b/examples/contrib/asynchronous_asyncio_serial_client.py index e4b02f50c..ec48cf35b 100755 --- a/examples/contrib/asynchronous_asyncio_serial_client.py +++ b/examples/contrib/asynchronous_asyncio_serial_client.py @@ -2,7 +2,7 @@ if IS_PYTHON3 and PYTHON_VERSION >= (3, 4): import asyncio from serial_asyncio import create_serial_connection - from pymodbus.client.async.asyncio import ModbusClientProtocol + from pymodbus.client.asynchronous.asyncio import ModbusClientProtocol from pymodbus.transaction import ModbusAsciiFramer, ModbusRtuFramer from pymodbus.factory import ClientDecoder else: @@ -43,7 +43,7 @@ async def start_async_test(client): # are not known to these tests. Furthermore, some use the same memory # blocks for the two sets, so a change to one is a change to the other. # Keep both of these cases in mind when testing as the following will - # _only_ pass with the supplied async modbus server (script supplied). + # _only_ pass with the supplied asynchronous modbus server (script supplied). # ----------------------------------------------------------------------- # log.debug("Write to a Coil and read back") rq = await client.write_coil(0, True, unit=UNIT) diff --git a/examples/contrib/modbus_scraper.py b/examples/contrib/modbus_scraper.py index ee76388d1..672d4de14 100755 --- a/examples/contrib/modbus_scraper.py +++ b/examples/contrib/modbus_scraper.py @@ -11,7 +11,7 @@ from pymodbus.datastore import ModbusSequentialDataBlock from pymodbus.datastore import ModbusSlaveContext from pymodbus.factory import ClientDecoder -from pymodbus.client.async import ModbusClientProtocol +from pymodbus.client.asynchronous import ModbusClientProtocol #--------------------------------------------------------------------------# # Configure the client logging diff --git a/examples/functional/asynchronous_ascii_client.py b/examples/functional/asynchronous_ascii_client.py index 2fb057450..582690a0f 100644 --- a/examples/functional/asynchronous_ascii_client.py +++ b/examples/functional/asynchronous_ascii_client.py @@ -1,6 +1,6 @@ #!/usr/bin/env python import unittest -from pymodbus.client.async import ModbusSerialClient as ModbusClient +from pymodbus.client.asynchronous import ModbusSerialClient as ModbusClient from base_runner import Runner class AsynchronousAsciiClient(Runner, unittest.TestCase): diff --git a/examples/functional/asynchronous_rtu_client.py b/examples/functional/asynchronous_rtu_client.py index 5df8254af..a92905e59 100644 --- a/examples/functional/asynchronous_rtu_client.py +++ b/examples/functional/asynchronous_rtu_client.py @@ -1,6 +1,6 @@ #!/usr/bin/env python import unittest -from pymodbus.client.async import ModbusSerialClient as ModbusClient +from pymodbus.client.asynchronous import ModbusSerialClient as ModbusClient from base_runner import Runner class AsynchronousRtuClient(Runner, unittest.TestCase): diff --git a/examples/functional/asynchronous_tcp_client.py b/examples/functional/asynchronous_tcp_client.py index 3cfffe0be..1b9e336b0 100644 --- a/examples/functional/asynchronous_tcp_client.py +++ b/examples/functional/asynchronous_tcp_client.py @@ -2,7 +2,7 @@ import unittest from twisted.internet import reactor, protocol from pymodbus.constants import Defaults -from pymodbus.client.async import ModbusClientProtocol +from pymodbus.client.asynchronous import ModbusClientProtocol from base_runner import Runner class AsynchronousTcpClient(Runner, unittest.TestCase): diff --git a/pymodbus/client/async/__init__.py b/pymodbus/client/asynchronous/__init__.py similarity index 85% rename from pymodbus/client/async/__init__.py rename to pymodbus/client/asynchronous/__init__.py index 9d050f90f..c643af02e 100644 --- a/pymodbus/client/async/__init__.py +++ b/pymodbus/client/asynchronous/__init__.py @@ -4,21 +4,21 @@ Example run:: - from pymodbus.client.async import schedulers + from pymodbus.client.asynchronous import schedulers # Import The clients - from pymodbus.client.async.tcp import AsyncModbusTCPClient as Client - from pymodbus.client.async.serial import AsyncModbusSerialClient as Client - from pymodbus.client.async.udp import AsyncModbusUDPClient as Client + from pymodbus.client.asynchronous.tcp import AsyncModbusTCPClient as Client + from pymodbus.client.asynchronous.serial import AsyncModbusSerialClient as Client + from pymodbus.client.asynchronous.udp import AsyncModbusUDPClient as Client - # For tornado based async client use + # For tornado based asynchronous client use event_loop, future = Client(schedulers.IO_LOOP, port=5020) - # For twisted based async client use + # For twisted based asynchronous client use event_loop, future = Client(schedulers.REACTOR, port=5020) - # For asyncio based async client use + # For asyncio based asynchronous client use event_loop, client = Client(schedulers.ASYNC_IO, port=5020) # Here event_loop is a thread which would control the backend and future is @@ -73,7 +73,7 @@ class AsyncModbusClientMixin(BaseAsyncModbusClient): def __init__(self, host="127.0.0.1", port=Defaults.Port, framer=None, source_address=None, timeout=None, **kwargs): """ - Initializes a Modbus TCP/UDP async client + Initializes a Modbus TCP/UDP asynchronous client :param host: Host IP address :param port: Port :param framer: Framer to use diff --git a/pymodbus/client/async/asyncio/__init__.py b/pymodbus/client/asynchronous/asyncio/__init__.py similarity index 99% rename from pymodbus/client/async/asyncio/__init__.py rename to pymodbus/client/asynchronous/asyncio/__init__.py index 9a9ffff0d..33d8bb139 100644 --- a/pymodbus/client/async/asyncio/__init__.py +++ b/pymodbus/client/asynchronous/asyncio/__init__.py @@ -5,7 +5,7 @@ import asyncio import functools from pymodbus.exceptions import ConnectionException -from pymodbus.client.async import AsyncModbusClientMixin +from pymodbus.client.asynchronous import AsyncModbusClientMixin from pymodbus.compat import byte2int import logging diff --git a/pymodbus/client/async/factory/__init__.py b/pymodbus/client/asynchronous/factory/__init__.py similarity index 100% rename from pymodbus/client/async/factory/__init__.py rename to pymodbus/client/asynchronous/factory/__init__.py diff --git a/pymodbus/client/async/factory/serial.py b/pymodbus/client/asynchronous/factory/serial.py similarity index 91% rename from pymodbus/client/async/factory/serial.py rename to pymodbus/client/asynchronous/factory/serial.py index 60d147263..98e396ac3 100644 --- a/pymodbus/client/async/factory/serial.py +++ b/pymodbus/client/asynchronous/factory/serial.py @@ -6,8 +6,8 @@ import logging -from pymodbus.client.async import schedulers -from pymodbus.client.async.thread import EventLoopThread +from pymodbus.client.asynchronous import schedulers +from pymodbus.client.asynchronous.thread import EventLoopThread LOGGER = logging.getLogger(__name__) @@ -66,7 +66,7 @@ def io_loop_factory(port=None, framer=None, **kwargs): """ from tornado.ioloop import IOLoop - from pymodbus.client.async.tornado import (AsyncModbusSerialClient as + from pymodbus.client.asynchronous.tornado import (AsyncModbusSerialClient as Client) ioloop = IOLoop() @@ -88,8 +88,8 @@ def async_io_factory(port=None, framer=None, **kwargs): :return: asyncio event loop and serial client """ import asyncio - from pymodbus.client.async.asyncio import (ModbusClientProtocol, - AsyncioModbusSerialClient) + from pymodbus.client.asynchronous.asyncio import (ModbusClientProtocol, + AsyncioModbusSerialClient) loop = kwargs.pop("loop", None) or asyncio.get_event_loop() proto_cls = kwargs.pop("proto_cls", None) or ModbusClientProtocol diff --git a/pymodbus/client/async/factory/tcp.py b/pymodbus/client/asynchronous/factory/tcp.py similarity index 90% rename from pymodbus/client/async/factory/tcp.py rename to pymodbus/client/asynchronous/factory/tcp.py index fd07a22ea..ea4ce6bdc 100644 --- a/pymodbus/client/async/factory/tcp.py +++ b/pymodbus/client/asynchronous/factory/tcp.py @@ -6,8 +6,8 @@ import logging -from pymodbus.client.async import schedulers -from pymodbus.client.async.thread import EventLoopThread +from pymodbus.client.asynchronous import schedulers +from pymodbus.client.asynchronous.thread import EventLoopThread from pymodbus.constants import Defaults LOGGER = logging.getLogger(__name__) @@ -26,7 +26,7 @@ def reactor_factory(host="127.0.0.1", port=Defaults.Port, framer=None, :return: event_loop_thread and twisted_deferred """ from twisted.internet import reactor, protocol - from pymodbus.client.async.twisted import ModbusTcpClientProtocol + from pymodbus.client.asynchronous.twisted import ModbusTcpClientProtocol deferred = protocol.ClientCreator( reactor, ModbusTcpClientProtocol @@ -61,7 +61,7 @@ def io_loop_factory(host="127.0.0.1", port=Defaults.Port, framer=None, :return: event_loop_thread and tornado future """ from tornado.ioloop import IOLoop - from pymodbus.client.async.tornado import AsyncModbusTCPClient as \ + from pymodbus.client.asynchronous.tornado import AsyncModbusTCPClient as \ Client ioloop = IOLoop() @@ -90,7 +90,7 @@ def async_io_factory(host="127.0.0.1", port=Defaults.Port, framer=None, :return: asyncio event loop and tcp client """ import asyncio - from pymodbus.client.async.asyncio import init_tcp_client + from pymodbus.client.asynchronous.asyncio import init_tcp_client loop = kwargs.get("loop") or asyncio.get_event_loop() proto_cls = kwargs.get("proto_cls", None) cor = init_tcp_client(proto_cls, loop, host, port) diff --git a/pymodbus/client/async/factory/udp.py b/pymodbus/client/asynchronous/factory/udp.py similarity index 91% rename from pymodbus/client/async/factory/udp.py rename to pymodbus/client/asynchronous/factory/udp.py index c6896b61c..d8ce64e5f 100644 --- a/pymodbus/client/async/factory/udp.py +++ b/pymodbus/client/asynchronous/factory/udp.py @@ -3,8 +3,8 @@ import logging -from pymodbus.client.async import schedulers -from pymodbus.client.async.thread import EventLoopThread +from pymodbus.client.asynchronous import schedulers +from pymodbus.client.asynchronous.thread import EventLoopThread from pymodbus.constants import Defaults LOGGER = logging.getLogger(__name__) @@ -38,7 +38,7 @@ def io_loop_factory(host="127.0.0.1", port=Defaults.Port, framer=None, :return: event_loop_thread and tornado future """ from tornado.ioloop import IOLoop - from pymodbus.client.async.tornado import AsyncModbusUDPClient as \ + from pymodbus.client.asynchronous.tornado import AsyncModbusUDPClient as \ Client client = Client(host=host, port=port, framer=framer, @@ -65,7 +65,7 @@ def async_io_factory(host="127.0.0.1", port=Defaults.Port, framer=None, :return: asyncio event loop and udp client """ import asyncio - from pymodbus.client.async.asyncio import init_udp_client + from pymodbus.client.asynchronous.asyncio import init_udp_client loop = kwargs.get("loop") or asyncio.get_event_loop() proto_cls = kwargs.get("proto_cls", None) cor = init_udp_client(proto_cls, loop, host, port) diff --git a/pymodbus/client/async/schedulers/__init__.py b/pymodbus/client/asynchronous/schedulers/__init__.py similarity index 100% rename from pymodbus/client/async/schedulers/__init__.py rename to pymodbus/client/asynchronous/schedulers/__init__.py diff --git a/pymodbus/client/async/serial.py b/pymodbus/client/asynchronous/serial.py similarity index 92% rename from pymodbus/client/async/serial.py rename to pymodbus/client/asynchronous/serial.py index 372072d23..5d2e2e817 100644 --- a/pymodbus/client/async/serial.py +++ b/pymodbus/client/asynchronous/serial.py @@ -2,12 +2,12 @@ from __future__ import absolute_import import logging -from pymodbus.client.async.factory.serial import get_factory +from pymodbus.client.asynchronous.factory.serial import get_factory from pymodbus.transaction import ModbusRtuFramer, ModbusAsciiFramer, ModbusBinaryFramer, ModbusSocketFramer from pymodbus.factory import ClientDecoder from pymodbus.exceptions import ParameterException from pymodbus.compat import IS_PYTHON3, PYTHON_VERSION -from pymodbus.client.async.schedulers import ASYNC_IO +from pymodbus.client.asynchronous.schedulers import ASYNC_IO logger = logging.getLogger(__name__) @@ -18,7 +18,7 @@ class AsyncModbusSerialClient(object): To use do:: - from pymodbus.client.async.serial import AsyncModbusSerialClient + from pymodbus.client.asynchronous.serial import AsyncModbusSerialClient """ @classmethod def _framer(cls, method): diff --git a/pymodbus/client/async/tcp.py b/pymodbus/client/asynchronous/tcp.py similarity index 88% rename from pymodbus/client/async/tcp.py rename to pymodbus/client/asynchronous/tcp.py index 23470bbda..45b7cfdf4 100644 --- a/pymodbus/client/async/tcp.py +++ b/pymodbus/client/asynchronous/tcp.py @@ -2,10 +2,10 @@ from __future__ import absolute_import import logging -from pymodbus.client.async.factory.tcp import get_factory +from pymodbus.client.asynchronous.factory.tcp import get_factory from pymodbus.constants import Defaults from pymodbus.compat import IS_PYTHON3, PYTHON_VERSION -from pymodbus.client.async.schedulers import ASYNC_IO +from pymodbus.client.asynchronous.schedulers import ASYNC_IO logger = logging.getLogger(__name__) @@ -16,7 +16,7 @@ class AsyncModbusTCPClient(object): To use do:: - from pymodbus.client.async.tcp import AsyncModbusTCPClient + from pymodbus.client.asynchronous.tcp import AsyncModbusTCPClient """ def __new__(cls, scheduler, host="127.0.0.1", port=Defaults.Port, framer=None, source_address=None, timeout=None, **kwargs): diff --git a/pymodbus/client/async/thread.py b/pymodbus/client/asynchronous/thread.py similarity index 100% rename from pymodbus/client/async/thread.py rename to pymodbus/client/asynchronous/thread.py diff --git a/pymodbus/client/async/tornado/__init__.py b/pymodbus/client/asynchronous/tornado/__init__.py similarity index 98% rename from pymodbus/client/async/tornado/__init__.py rename to pymodbus/client/asynchronous/tornado/__init__.py index f313b33e5..c979c5186 100644 --- a/pymodbus/client/async/tornado/__init__.py +++ b/pymodbus/client/asynchronous/tornado/__init__.py @@ -15,8 +15,8 @@ from tornado.iostream import IOStream from tornado.iostream import BaseIOStream -from pymodbus.client.async import (AsyncModbusClientMixin, - AsyncModbusSerialClientMixin) +from pymodbus.client.asynchronous import (AsyncModbusClientMixin, + AsyncModbusSerialClientMixin) from pymodbus.exceptions import ConnectionException from pymodbus.compat import byte2int diff --git a/pymodbus/client/async/twisted/__init__.py b/pymodbus/client/asynchronous/twisted/__init__.py similarity index 97% rename from pymodbus/client/async/twisted/__init__.py rename to pymodbus/client/asynchronous/twisted/__init__.py index 613105a24..db498a47c 100644 --- a/pymodbus/client/async/twisted/__init__.py +++ b/pymodbus/client/asynchronous/twisted/__init__.py @@ -5,7 +5,7 @@ Example run:: from twisted.internet import reactor, protocol - from pymodbus.client.async import ModbusClientProtocol + from pymodbus.client.asynchronous import ModbusClientProtocol def printResult(result): print "Result: %d" % result.bits[0] @@ -22,7 +22,7 @@ def process(client): Another example:: from twisted.internet import reactor - from pymodbus.client.async import ModbusClientFactory + from pymodbus.client.asynchronous import ModbusClientFactory def process(): factory = reactor.connectTCP("localhost", 502, ModbusClientFactory()) @@ -37,7 +37,7 @@ def process(): from pymodbus.exceptions import ConnectionException from pymodbus.factory import ClientDecoder -from pymodbus.client.async import AsyncModbusClientMixin +from pymodbus.client.asynchronous import AsyncModbusClientMixin from pymodbus.transaction import FifoTransactionManager, DictTransactionManager from pymodbus.transaction import ModbusSocketFramer, ModbusRtuFramer from pymodbus.compat import byte2int diff --git a/pymodbus/client/async/udp.py b/pymodbus/client/asynchronous/udp.py similarity index 88% rename from pymodbus/client/async/udp.py rename to pymodbus/client/asynchronous/udp.py index b8f529a5b..a111d9624 100644 --- a/pymodbus/client/async/udp.py +++ b/pymodbus/client/asynchronous/udp.py @@ -4,8 +4,8 @@ import logging from pymodbus.constants import Defaults from pymodbus.compat import IS_PYTHON3, PYTHON_VERSION -from pymodbus.client.async.schedulers import ASYNC_IO -from pymodbus.client.async.factory.udp import get_factory +from pymodbus.client.asynchronous.schedulers import ASYNC_IO +from pymodbus.client.asynchronous.factory.udp import get_factory logger = logging.getLogger(__name__) @@ -16,7 +16,7 @@ class AsyncModbusUDPClient(object): To use do:: - from pymodbus.client.async.tcp import AsyncModbusUDPClient + from pymodbus.client.asynchronous.tcp import AsyncModbusUDPClient """ def __new__(cls, scheduler, host="127.0.0.1", port=Defaults.Port, framer=None, source_address=None, timeout=None, **kwargs): diff --git a/test/test_client_async.py b/test/test_client_async.py index 2c72c6b40..fad69f75b 100644 --- a/test/test_client_async.py +++ b/test/test_client_async.py @@ -5,25 +5,25 @@ if IS_PYTHON3 and PYTHON_VERSION >= (3, 4): from unittest.mock import patch, Mock, MagicMock import asyncio - from pymodbus.client.async.asyncio import AsyncioModbusSerialClient + from pymodbus.client.asynchronous.asyncio import AsyncioModbusSerialClient from serial_asyncio import SerialTransport else: from mock import patch, Mock, MagicMock import platform from distutils.version import LooseVersion -from pymodbus.client.async.serial import AsyncModbusSerialClient -from pymodbus.client.async.tcp import AsyncModbusTCPClient -from pymodbus.client.async.udp import AsyncModbusUDPClient +from pymodbus.client.asynchronous.serial import AsyncModbusSerialClient +from pymodbus.client.asynchronous.tcp import AsyncModbusTCPClient +from pymodbus.client.asynchronous.udp import AsyncModbusUDPClient -from pymodbus.client.async.tornado import AsyncModbusSerialClient as AsyncTornadoModbusSerialClient -from pymodbus.client.async.tornado import AsyncModbusTCPClient as AsyncTornadoModbusTcpClient -from pymodbus.client.async.tornado import AsyncModbusUDPClient as AsyncTornadoModbusUdoClient -from pymodbus.client.async import schedulers +from pymodbus.client.asynchronous.tornado import AsyncModbusSerialClient as AsyncTornadoModbusSerialClient +from pymodbus.client.asynchronous.tornado import AsyncModbusTCPClient as AsyncTornadoModbusTcpClient +from pymodbus.client.asynchronous.tornado import AsyncModbusUDPClient as AsyncTornadoModbusUdoClient +from pymodbus.client.asynchronous import schedulers from pymodbus.factory import ClientDecoder from pymodbus.exceptions import ConnectionException from pymodbus.transaction import ModbusSocketFramer, ModbusRtuFramer, ModbusAsciiFramer, ModbusBinaryFramer -from pymodbus.client.async.twisted import ModbusSerClientProtocol +from pymodbus.client.asynchronous.twisted import ModbusSerClientProtocol IS_DARWIN = platform.system().lower() == "darwin" OSX_SIERRA = LooseVersion("10.12") @@ -60,7 +60,7 @@ def mock_asyncio_run_untill_complete(val): class TestAsynchronousClient(object): """ - This is the unittest for the pymodbus.client.async module + This is the unittest for the pymodbus.client.asynchronous module """ # -----------------------------------------------------------------------# @@ -83,8 +83,8 @@ def test_errback(client): callback=test_callback, errback=test_errback) - @patch("pymodbus.client.async.tornado.IOLoop") - @patch("pymodbus.client.async.tornado.IOStream") + @patch("pymodbus.client.asynchronous.tornado.IOLoop") + @patch("pymodbus.client.asynchronous.tornado.IOStream") def testTcpTornadoClient(self, mock_iostream, mock_ioloop): """ Test the TCP tornado client client initialize """ protocol, future = AsyncModbusTCPClient(schedulers.IO_LOOP, framer=ModbusSocketFramer(ClientDecoder())) @@ -123,8 +123,8 @@ def testTcpAsyncioClient(self, mock_gather, mock_loop): # Test UDP client # -----------------------------------------------------------------------# - @patch("pymodbus.client.async.tornado.IOLoop") - @patch("pymodbus.client.async.tornado.IOStream") + @patch("pymodbus.client.asynchronous.tornado.IOLoop") + @patch("pymodbus.client.asynchronous.tornado.IOStream") def testUdpTornadoClient(self, mock_iostream, mock_ioloop): """ Test the udp tornado client client initialize """ protocol, future = AsyncModbusUDPClient(schedulers.IO_LOOP, framer=ModbusSocketFramer(ClientDecoder())) diff --git a/test/test_client_async_asyncio.py b/test/test_client_async_asyncio.py index 669a10205..14829dc0d 100644 --- a/test/test_client_async_asyncio.py +++ b/test/test_client_async_asyncio.py @@ -2,7 +2,7 @@ import pytest if IS_PYTHON3 and PYTHON_VERSION >= (3, 4): from unittest import mock - from pymodbus.client.async.asyncio import ( + from pymodbus.client.asynchronous.asyncio import ( ReconnectingAsyncioModbusTcpClient, ModbusClientProtocol, ModbusUdpClientProtocol) from test.asyncio_test_helper import return_as_coroutine, run_coroutine @@ -92,7 +92,7 @@ def test_factory_protocol_made_connection(self): assert client.connected assert client.protocol is mock.sentinel.PROTOCOL - @mock.patch('pymodbus.client.async.asyncio.asyncio.async') + @mock.patch('pymodbus.client.asynchronous.asyncio.asyncio.asynchronous') def test_factory_protocol_lost_connection(self, mock_async): mock_protocol_class = mock.MagicMock() mock_loop = mock.MagicMock() @@ -109,14 +109,14 @@ def test_factory_protocol_lost_connection(self, mock_async): client.port = mock.sentinel.PORT client.protocol = mock.sentinel.PROTOCOL - with mock.patch('pymodbus.client.async.asyncio.ReconnectingAsyncioModbusTcpClient._reconnect') as mock_reconnect: + with mock.patch('pymodbus.client.asynchronous.asyncio.ReconnectingAsyncioModbusTcpClient._reconnect') as mock_reconnect: mock_reconnect.return_value = mock.sentinel.RECONNECT_GENERATOR client.protocol_lost_connection(mock.sentinel.PROTOCOL) mock_async.assert_called_once_with(mock.sentinel.RECONNECT_GENERATOR, loop=mock_loop) assert not client.connected assert client.protocol is None - @mock.patch('pymodbus.client.async.asyncio.asyncio.async') + @mock.patch('pymodbus.client.asynchronous.asyncio.asyncio.asynchronous') def test_factory_start_success(self, mock_async): mock_protocol_class = mock.MagicMock() mock_loop = mock.MagicMock() @@ -126,7 +126,7 @@ def test_factory_start_success(self, mock_async): mock_loop.create_connection.assert_called_once_with(mock.ANY, mock.sentinel.HOST, mock.sentinel.PORT) assert mock_async.call_count == 0 - @mock.patch('pymodbus.client.async.asyncio.asyncio.async') + @mock.patch('pymodbus.client.asynchronous.asyncio.asyncio.asynchronous') def test_factory_start_failing_and_retried(self, mock_async): mock_protocol_class = mock.MagicMock() mock_loop = mock.MagicMock() @@ -134,13 +134,13 @@ def test_factory_start_failing_and_retried(self, mock_async): client = ReconnectingAsyncioModbusTcpClient(protocol_class=mock_protocol_class, loop=mock_loop) # check whether reconnect is called upon failed connection attempt: - with mock.patch('pymodbus.client.async.asyncio.ReconnectingAsyncioModbusTcpClient._reconnect') as mock_reconnect: + with mock.patch('pymodbus.client.asynchronous.asyncio.ReconnectingAsyncioModbusTcpClient._reconnect') as mock_reconnect: mock_reconnect.return_value = mock.sentinel.RECONNECT_GENERATOR run_coroutine(client.start(mock.sentinel.HOST, mock.sentinel.PORT)) mock_reconnect.assert_called_once_with() mock_async.assert_called_once_with(mock.sentinel.RECONNECT_GENERATOR, loop=mock_loop) - @mock.patch('pymodbus.client.async.asyncio.asyncio.sleep') + @mock.patch('pymodbus.client.asynchronous.asyncio.asyncio.sleep') def test_factory_reconnect(self, mock_sleep): mock_protocol_class = mock.MagicMock() mock_loop = mock.MagicMock() diff --git a/test/test_client_async_tornado.py b/test/test_client_async_tornado.py index 7e227fbde..c109e2d45 100644 --- a/test/test_client_async_tornado.py +++ b/test/test_client_async_tornado.py @@ -5,12 +5,12 @@ from unittest.mock import patch, Mock else: # Python 2 from mock import patch, Mock -from pymodbus.client.async.tornado import (BaseTornadoClient, - AsyncModbusSerialClient, AsyncModbusUDPClient, AsyncModbusTCPClient -) -from pymodbus.client.async import schedulers +from pymodbus.client.asynchronous.tornado import (BaseTornadoClient, + AsyncModbusSerialClient, AsyncModbusUDPClient, AsyncModbusTCPClient + ) +from pymodbus.client.asynchronous import schedulers from pymodbus.factory import ClientDecoder -from pymodbus.client.async.twisted import ModbusClientFactory +from pymodbus.client.asynchronous.twisted import ModbusClientFactory from pymodbus.exceptions import ConnectionException from pymodbus.transaction import ModbusSocketFramer, ModbusRtuFramer from pymodbus.bit_read_message import ReadCoilsRequest, ReadCoilsResponse @@ -33,7 +33,7 @@ class AsynchronousClientTest(unittest.TestCase): """ - This is the unittest for the pymodbus.client.async module + This is the unittest for the pymodbus.client.asynchronous module """ # -----------------------------------------------------------------------# @@ -57,8 +57,8 @@ def testBaseClientInit(self): self.assertTrue(client.io_loop == schedulers.IO_LOOP) self.assertTrue(framer is client.framer) - @patch("pymodbus.client.async.tornado.IOLoop") - @patch("pymodbus.client.async.tornado.IOStream") + @patch("pymodbus.client.asynchronous.tornado.IOLoop") + @patch("pymodbus.client.asynchronous.tornado.IOStream") def testBaseClientOn_receive(self, mock_iostream, mock_ioloop): """ Test the BaseTornado client data received """ client = AsyncModbusTCPClient(port=5020) @@ -79,8 +79,8 @@ def testBaseClientOn_receive(self, mock_iostream, mock_ioloop): d.add_done_callback(lambda v: out.append(v)) self.assertFalse(out) - @patch("pymodbus.client.async.tornado.IOLoop") - @patch("pymodbus.client.async.tornado.IOStream") + @patch("pymodbus.client.asynchronous.tornado.IOLoop") + @patch("pymodbus.client.asynchronous.tornado.IOStream") def testBaseClientExecute(self, mock_iostream, mock_ioloop): """ Test the BaseTornado client execute method """ client = AsyncModbusTCPClient(port=5020) @@ -93,8 +93,8 @@ def testBaseClientExecute(self, mock_iostream, mock_ioloop): tid = request.transaction_id self.assertEqual(d, client.transaction.getTransaction(tid)) - @patch("pymodbus.client.async.tornado.IOLoop") - @patch("pymodbus.client.async.tornado.IOStream") + @patch("pymodbus.client.asynchronous.tornado.IOLoop") + @patch("pymodbus.client.asynchronous.tornado.IOStream") def testBaseClientHandleResponse(self, mock_iostream, mock_ioloop): """ Test the BaseTornado client handles responses """ client = AsyncModbusTCPClient(port=5020) @@ -113,8 +113,8 @@ def testBaseClientHandleResponse(self, mock_iostream, mock_ioloop): client._handle_response(reply) self.assertEqual(out[0].result(), reply) - @patch("pymodbus.client.async.tornado.IOLoop") - @patch("pymodbus.client.async.tornado.IOStream") + @patch("pymodbus.client.asynchronous.tornado.IOLoop") + @patch("pymodbus.client.asynchronous.tornado.IOStream") def testBaseClientBuildResponse(self, mock_iostream, mock_ioloop): """ Test the BaseTornado client client builds responses """ client = BaseTornadoClient() @@ -144,8 +144,8 @@ def testTcpClientInit(self): client = AsyncModbusTCPClient(framer=framer) self.assertTrue(framer is client.framer) - @patch("pymodbus.client.async.tornado.IOLoop") - @patch("pymodbus.client.async.tornado.IOStream") + @patch("pymodbus.client.asynchronous.tornado.IOLoop") + @patch("pymodbus.client.asynchronous.tornado.IOStream") def testTcpClientConnect(self, mock_iostream, mock_ioloop): """ Test the tornado tcp client client connect """ client = AsyncModbusTCPClient(port=5020) @@ -154,8 +154,8 @@ def testTcpClientConnect(self, mock_iostream, mock_ioloop): client.connect() self.assertTrue(client._connected) - @patch("pymodbus.client.async.tornado.IOLoop") - @patch("pymodbus.client.async.tornado.IOStream") + @patch("pymodbus.client.asynchronous.tornado.IOLoop") + @patch("pymodbus.client.asynchronous.tornado.IOStream") def testTcpClientDisconnect(self, mock_iostream, mock_ioloop): """ Test the tornado tcp client client disconnect """ client = AsyncModbusTCPClient(port=5020) @@ -186,9 +186,9 @@ def testSerialClientInit(self): client = AsyncModbusSerialClient(framer=framer) self.assertTrue(framer is client.framer) - @patch("pymodbus.client.async.tornado.IOLoop") - @patch("pymodbus.client.async.tornado.SerialIOStream") - @patch("pymodbus.client.async.tornado.Serial") + @patch("pymodbus.client.asynchronous.tornado.IOLoop") + @patch("pymodbus.client.asynchronous.tornado.SerialIOStream") + @patch("pymodbus.client.asynchronous.tornado.Serial") def testSerialClientConnect(self, mock_serial, mock_seriostream, mock_ioloop): """ Test the tornado serial client client connect """ client = AsyncModbusSerialClient(ioloop=schedulers.IO_LOOP, @@ -201,9 +201,9 @@ def testSerialClientConnect(self, mock_serial, mock_seriostream, mock_ioloop): self.assertTrue(client._connected) client.close() - @patch("pymodbus.client.async.tornado.IOLoop") - @patch("pymodbus.client.async.tornado.SerialIOStream") - @patch("pymodbus.client.async.tornado.Serial") + @patch("pymodbus.client.asynchronous.tornado.IOLoop") + @patch("pymodbus.client.asynchronous.tornado.SerialIOStream") + @patch("pymodbus.client.asynchronous.tornado.Serial") def testSerialClientDisconnect(self, mock_serial, mock_seriostream, mock_ioloop): """ Test the tornado serial client client disconnect """ client = AsyncModbusSerialClient(ioloop=schedulers.IO_LOOP, @@ -221,9 +221,9 @@ def handle_failure(failure): client.close() self.assertFalse(client._connected) - @patch("pymodbus.client.async.tornado.IOLoop") - @patch("pymodbus.client.async.tornado.SerialIOStream") - @patch("pymodbus.client.async.tornado.Serial") + @patch("pymodbus.client.asynchronous.tornado.IOLoop") + @patch("pymodbus.client.asynchronous.tornado.SerialIOStream") + @patch("pymodbus.client.asynchronous.tornado.Serial") def testSerialClientExecute(self, mock_serial, mock_seriostream, mock_ioloop): """ Test the tornado serial client client execute method """ client = AsyncModbusSerialClient(ioloop=schedulers.IO_LOOP, @@ -239,9 +239,9 @@ def testSerialClientExecute(self, mock_serial, mock_seriostream, mock_ioloop): tid = request.transaction_id self.assertEqual(d, client.transaction.getTransaction(tid)) - @patch("pymodbus.client.async.tornado.IOLoop") - @patch("pymodbus.client.async.tornado.SerialIOStream") - @patch("pymodbus.client.async.tornado.Serial") + @patch("pymodbus.client.asynchronous.tornado.IOLoop") + @patch("pymodbus.client.asynchronous.tornado.SerialIOStream") + @patch("pymodbus.client.asynchronous.tornado.Serial") def testSerialClientHandleResponse(self, mock_serial, mock_seriostream, mock_ioloop): """ Test the tornado serial client client handles responses """ client = AsyncModbusSerialClient(ioloop=schedulers.IO_LOOP, @@ -263,9 +263,9 @@ def testSerialClientHandleResponse(self, mock_serial, mock_seriostream, mock_iol client._handle_response(reply) self.assertEqual(out[0].result(), reply) - @patch("pymodbus.client.async.tornado.IOLoop") - @patch("pymodbus.client.async.tornado.SerialIOStream") - @patch("pymodbus.client.async.tornado.Serial") + @patch("pymodbus.client.asynchronous.tornado.IOLoop") + @patch("pymodbus.client.asynchronous.tornado.SerialIOStream") + @patch("pymodbus.client.asynchronous.tornado.Serial") def testSerialClientBuildResponse(self, mock_serial, mock_seriostream, mock_ioloop): """ Test the tornado serial client client builds responses """ client = AsyncModbusSerialClient(ioloop=schedulers.IO_LOOP, diff --git a/test/test_client_async_twisted.py b/test/test_client_async_twisted.py index e149dfab3..398898266 100644 --- a/test/test_client_async_twisted.py +++ b/test/test_client_async_twisted.py @@ -5,11 +5,11 @@ from unittest.mock import patch, Mock else: # Python 2 from mock import patch, Mock -from pymodbus.client.async.twisted import ( +from pymodbus.client.asynchronous.twisted import ( ModbusClientProtocol, ModbusUdpClientProtocol, ModbusSerClientProtocol, ModbusTcpClientProtocol ) from pymodbus.factory import ClientDecoder -from pymodbus.client.async.twisted import ModbusClientFactory +from pymodbus.client.asynchronous.twisted import ModbusClientFactory from pymodbus.exceptions import ConnectionException from pymodbus.transaction import ModbusSocketFramer, ModbusRtuFramer from pymodbus.bit_read_message import ReadCoilsRequest, ReadCoilsResponse @@ -20,7 +20,7 @@ class AsynchronousClientTest(unittest.TestCase): ''' - This is the unittest for the pymodbus.client.async module + This is the unittest for the pymodbus.client.asynchronous module ''' #-----------------------------------------------------------------------# diff --git a/test/test_server_async.py b/test/test_server_async.py index 9f3ac162d..59d422c0d 100644 --- a/test/test_server_async.py +++ b/test/test_server_async.py @@ -30,7 +30,7 @@ class AsynchronousServerTest(unittest.TestCase): ''' - This is the unittest for the pymodbus.server.async module + This is the unittest for the pymodbus.server.asynchronous module ''' #-----------------------------------------------------------------------# From 612159927fef7d7a03934ca835dc92d953f3d6c2 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Tue, 21 Aug 2018 17:30:49 +0200 Subject: [PATCH 2/4] replace asyncio.async with asyncio.ensure_future --- .../client/asynchronous/asyncio/__init__.py | 20 +++++++++---------- test/test_client_async_asyncio.py | 6 +++--- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/pymodbus/client/asynchronous/asyncio/__init__.py b/pymodbus/client/asynchronous/asyncio/__init__.py index 33d8bb139..54779f43c 100644 --- a/pymodbus/client/asynchronous/asyncio/__init__.py +++ b/pymodbus/client/asynchronous/asyncio/__init__.py @@ -289,7 +289,7 @@ def _connect(self): _logger.info('Connected to %s:%s.' % (self.host, self.port)) except Exception as ex: _logger.warning('Failed to connect: %s' % ex) - asyncio.async(self._reconnect(), loop=self.loop) + asyncio.ensure_future(self._reconnect(), loop=self.loop) def protocol_made_connection(self, protocol): """ @@ -316,7 +316,7 @@ def protocol_lost_connection(self, protocol): self.connected = False self.protocol = None if self.host: - asyncio.async(self._reconnect(), loop=self.loop) + asyncio.ensure_future(self._reconnect(), loop=self.loop) else: _logger.error('Factory protocol disconnect callback called while not connected.') @@ -384,7 +384,7 @@ def connect(self): _logger.info('Connected to %s:%s.' % (self.host, self.port)) except Exception as ex: _logger.warning('Failed to connect: %s' % ex) - # asyncio.async(self._reconnect(), loop=self.loop) + # asyncio.ensure_future(self._reconnect(), loop=self.loop) def protocol_made_connection(self, protocol): """ @@ -411,7 +411,7 @@ def protocol_lost_connection(self, protocol): self.connected = False self.protocol = None # if self.host: - # asyncio.async(self._reconnect(), loop=self.loop) + # asyncio.ensure_future(self._reconnect(), loop=self.loop) else: _logger.error('Factory protocol disconnect' ' callback called while not connected.') @@ -513,7 +513,7 @@ def _connect(self): _logger.info('Connected to %s:%s.' % (self.host, self.port)) except Exception as ex: _logger.warning('Failed to connect: %s' % ex) - asyncio.async(self._reconnect(), loop=self.loop) + asyncio.ensure_future(self._reconnect(), loop=self.loop) def protocol_made_connection(self, protocol): """ @@ -540,7 +540,7 @@ def protocol_lost_connection(self, protocol): self.connected = False self.protocol = None if self.host: - asyncio.async(self._reconnect(), loop=self.loop) + asyncio.ensure_future(self._reconnect(), loop=self.loop) else: _logger.error('Factory protocol disconnect ' 'callback called while not connected.') @@ -619,7 +619,7 @@ def connect(self): _logger.info('Connected to %s:%s.' % (self.host, self.port)) except Exception as ex: _logger.warning('Failed to connect: %s' % ex) - # asyncio.async(self._reconnect(), loop=self.loop) + # asyncio.ensure_future(self._reconnect(), loop=self.loop) def protocol_made_connection(self, protocol): """ @@ -646,7 +646,7 @@ def protocol_lost_connection(self, protocol): self.connected = False self.protocol = None # if self.host: - # asyncio.async(self._reconnect(), loop=self.loop) + # asyncio.ensure_future(self._reconnect(), loop=self.loop) else: _logger.error('Factory protocol disconnect ' 'callback called while not connected.') @@ -711,7 +711,7 @@ def connect(self): _logger.info('Connected to %s:%s.' % (self.host, self.port)) except Exception as ex: _logger.warning('Failed to connect: %s' % ex) - # asyncio.async(self._reconnect(), loop=self.loop) + # asyncio.ensure_future(self._reconnect(), loop=self.loop) def protocol_made_connection(self, protocol): """ @@ -738,7 +738,7 @@ def protocol_lost_connection(self, protocol): self._connected = False self.protocol = None # if self.host: - # asyncio.async(self._reconnect(), loop=self.loop) + # asyncio.ensure_future(self._reconnect(), loop=self.loop) else: _logger.error('Factory protocol disconnect callback ' 'called while not connected.') diff --git a/test/test_client_async_asyncio.py b/test/test_client_async_asyncio.py index 14829dc0d..de2de9d36 100644 --- a/test/test_client_async_asyncio.py +++ b/test/test_client_async_asyncio.py @@ -92,7 +92,7 @@ def test_factory_protocol_made_connection(self): assert client.connected assert client.protocol is mock.sentinel.PROTOCOL - @mock.patch('pymodbus.client.asynchronous.asyncio.asyncio.asynchronous') + @mock.patch('pymodbus.client.asynchronous.asyncio.asyncio.ensure_future') def test_factory_protocol_lost_connection(self, mock_async): mock_protocol_class = mock.MagicMock() mock_loop = mock.MagicMock() @@ -116,7 +116,7 @@ def test_factory_protocol_lost_connection(self, mock_async): assert not client.connected assert client.protocol is None - @mock.patch('pymodbus.client.asynchronous.asyncio.asyncio.asynchronous') + @mock.patch('pymodbus.client.asynchronous.asyncio.asyncio.ensure_future') def test_factory_start_success(self, mock_async): mock_protocol_class = mock.MagicMock() mock_loop = mock.MagicMock() @@ -126,7 +126,7 @@ def test_factory_start_success(self, mock_async): mock_loop.create_connection.assert_called_once_with(mock.ANY, mock.sentinel.HOST, mock.sentinel.PORT) assert mock_async.call_count == 0 - @mock.patch('pymodbus.client.asynchronous.asyncio.asyncio.asynchronous') + @mock.patch('pymodbus.client.asynchronous.asyncio.asyncio.ensure_future') def test_factory_start_failing_and_retried(self, mock_async): mock_protocol_class = mock.MagicMock() mock_loop = mock.MagicMock() From 69df1ea29a587a0c74e30de8ace3561936535c11 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Tue, 21 Aug 2018 17:32:29 +0200 Subject: [PATCH 3/4] renamed server.async to server.asynchronous --- examples/common/asynchronous_server.py | 6 +++--- examples/common/callback_server.py | 2 +- examples/common/custom_datablock.py | 2 +- examples/common/dbstore_update_server.py | 2 +- examples/common/updating_server.py | 2 +- examples/contrib/modbus_simulator.py | 2 +- examples/gui/bottle/frontend.py | 2 +- examples/gui/gtk/simulator.py | 2 +- examples/gui/gui_common.py | 2 +- examples/gui/tk/simulator.py | 2 +- examples/gui/wx/simulator.py | 2 +- examples/twisted/plugins/pymodbus_plugin.py | 2 +- pymodbus/server/{async.py => asynchronous.py} | 0 test/test_server_async.py | 6 +++--- 14 files changed, 17 insertions(+), 17 deletions(-) rename pymodbus/server/{async.py => asynchronous.py} (100%) diff --git a/examples/common/asynchronous_server.py b/examples/common/asynchronous_server.py index ea545a568..f70466535 100755 --- a/examples/common/asynchronous_server.py +++ b/examples/common/asynchronous_server.py @@ -10,9 +10,9 @@ # --------------------------------------------------------------------------- # # import the various server implementations # --------------------------------------------------------------------------- # -from pymodbus.server.async import StartTcpServer -from pymodbus.server.async import StartUdpServer -from pymodbus.server.async import StartSerialServer +from pymodbus.server.asynchronous import StartTcpServer +from pymodbus.server.asynchronous import StartUdpServer +from pymodbus.server.asynchronous import StartSerialServer from pymodbus.device import ModbusDeviceIdentification from pymodbus.datastore import ModbusSequentialDataBlock diff --git a/examples/common/callback_server.py b/examples/common/callback_server.py index 045ead0ef..b04110e30 100755 --- a/examples/common/callback_server.py +++ b/examples/common/callback_server.py @@ -10,7 +10,7 @@ # --------------------------------------------------------------------------- # # import the modbus libraries we need # --------------------------------------------------------------------------- # -from pymodbus.server.async import StartTcpServer +from pymodbus.server.asynchronous import StartTcpServer from pymodbus.device import ModbusDeviceIdentification from pymodbus.datastore import ModbusSparseDataBlock from pymodbus.datastore import ModbusSlaveContext, ModbusServerContext diff --git a/examples/common/custom_datablock.py b/examples/common/custom_datablock.py index a9873bcb6..db0d715bb 100755 --- a/examples/common/custom_datablock.py +++ b/examples/common/custom_datablock.py @@ -10,7 +10,7 @@ # import the modbus libraries we need # --------------------------------------------------------------------------- # from __future__ import print_function -from pymodbus.server.async import StartTcpServer +from pymodbus.server.asynchronous import StartTcpServer from pymodbus.device import ModbusDeviceIdentification from pymodbus.datastore import ModbusSparseDataBlock from pymodbus.datastore import ModbusSlaveContext, ModbusServerContext diff --git a/examples/common/dbstore_update_server.py b/examples/common/dbstore_update_server.py index 7119a31b2..5de74c31d 100644 --- a/examples/common/dbstore_update_server.py +++ b/examples/common/dbstore_update_server.py @@ -16,7 +16,7 @@ # --------------------------------------------------------------------------- # # import the modbus libraries we need # --------------------------------------------------------------------------- # -from pymodbus.server.async import StartTcpServer +from pymodbus.server.asynchronous import StartTcpServer from pymodbus.device import ModbusDeviceIdentification from pymodbus.datastore import ModbusSequentialDataBlock from pymodbus.datastore import ModbusServerContext diff --git a/examples/common/updating_server.py b/examples/common/updating_server.py index 7b7b6be98..99fc33b8c 100755 --- a/examples/common/updating_server.py +++ b/examples/common/updating_server.py @@ -15,7 +15,7 @@ # --------------------------------------------------------------------------- # # import the modbus libraries we need # --------------------------------------------------------------------------- # -from pymodbus.server.async import StartTcpServer +from pymodbus.server.asynchronous import StartTcpServer from pymodbus.device import ModbusDeviceIdentification from pymodbus.datastore import ModbusSequentialDataBlock from pymodbus.datastore import ModbusSlaveContext, ModbusServerContext diff --git a/examples/contrib/modbus_simulator.py b/examples/contrib/modbus_simulator.py index 09ae0c41f..2e05b29f5 100644 --- a/examples/contrib/modbus_simulator.py +++ b/examples/contrib/modbus_simulator.py @@ -8,7 +8,7 @@ from optparse import OptionParser from twisted.internet import reactor -from pymodbus.server.async import StartTcpServer +from pymodbus.server.asynchronous import StartTcpServer from pymodbus.datastore import ModbusServerContext,ModbusSlaveContext # -------------------------------------------------------------------------- # diff --git a/examples/gui/bottle/frontend.py b/examples/gui/bottle/frontend.py index 56ef04ee7..a09fb0d15 100644 --- a/examples/gui/bottle/frontend.py +++ b/examples/gui/bottle/frontend.py @@ -260,7 +260,7 @@ def RunDebugModbusFrontend(server, port=8080): # ------------------------------------------------------------ # an example server configuration # ------------------------------------------------------------ - from pymodbus.server.async import ModbusServerFactory + from pymodbus.server.asynchronous import ModbusServerFactory from pymodbus.constants import Defaults from pymodbus.device import ModbusDeviceIdentification from pymodbus.datastore import ModbusSequentialDataBlock diff --git a/examples/gui/gtk/simulator.py b/examples/gui/gtk/simulator.py index 56cd9482b..d73c89e2f 100755 --- a/examples/gui/gtk/simulator.py +++ b/examples/gui/gtk/simulator.py @@ -20,7 +20,7 @@ # --------------------------------------------------------------------------- # from twisted.internet import reactor from twisted.internet import error as twisted_error -from pymodbus.server.async import ModbusServerFactory +from pymodbus.server.asynchronous import ModbusServerFactory from pymodbus.datastore import ModbusServerContext,ModbusSlaveContext #--------------------------------------------------------------------------# diff --git a/examples/gui/gui_common.py b/examples/gui/gui_common.py index 8ac4088fa..b180115f8 100755 --- a/examples/gui/gui_common.py +++ b/examples/gui/gui_common.py @@ -12,7 +12,7 @@ # -------------------------------------------------------------------------- # from twisted.internet import reactor from twisted.internet import error as twisted_error -from pymodbus.server.async import ModbusServerFactory +from pymodbus.server.asynchronous import ModbusServerFactory from pymodbus.datastore import ModbusServerContext,ModbusSlaveContext # -------------------------------------------------------------------------- # diff --git a/examples/gui/tk/simulator.py b/examples/gui/tk/simulator.py index 316d10ad2..9598f0dfe 100755 --- a/examples/gui/tk/simulator.py +++ b/examples/gui/tk/simulator.py @@ -24,7 +24,7 @@ # --------------------------------------------------------------------------- # from twisted.internet import reactor from twisted.internet import error as twisted_error -from pymodbus.server.async import ModbusServerFactory +from pymodbus.server.asynchronous import ModbusServerFactory from pymodbus.datastore import ModbusServerContext,ModbusSlaveContext #--------------------------------------------------------------------------# diff --git a/examples/gui/wx/simulator.py b/examples/gui/wx/simulator.py index 519daa164..787de5509 100755 --- a/examples/gui/wx/simulator.py +++ b/examples/gui/wx/simulator.py @@ -22,7 +22,7 @@ # --------------------------------------------------------------------------- # from twisted.internet import reactor from twisted.internet import error as twisted_error -from pymodbus.server.async import ModbusServerFactory +from pymodbus.server.asynchronous import ModbusServerFactory from pymodbus.datastore import ModbusServerContext,ModbusSlaveContext #--------------------------------------------------------------------------# diff --git a/examples/twisted/plugins/pymodbus_plugin.py b/examples/twisted/plugins/pymodbus_plugin.py index 9625b6b1b..f6d4fcd6f 100644 --- a/examples/twisted/plugins/pymodbus_plugin.py +++ b/examples/twisted/plugins/pymodbus_plugin.py @@ -8,7 +8,7 @@ from twisted.application import internet from pymodbus.constants import Defaults -from pymodbus.server.async import ModbusServerFactory +from pymodbus.server.asynchronous import ModbusServerFactory from pymodbus.transaction import ModbusSocketFramer from pymodbus.internal.ptwisted import InstallManagementConsole diff --git a/pymodbus/server/async.py b/pymodbus/server/asynchronous.py similarity index 100% rename from pymodbus/server/async.py rename to pymodbus/server/asynchronous.py diff --git a/test/test_server_async.py b/test/test_server_async.py index 59d422c0d..66051219b 100644 --- a/test/test_server_async.py +++ b/test/test_server_async.py @@ -6,9 +6,9 @@ else: # Python 2 from mock import patch, Mock from pymodbus.device import ModbusDeviceIdentification -from pymodbus.server.async import ModbusTcpProtocol, ModbusUdpProtocol -from pymodbus.server.async import ModbusServerFactory -from pymodbus.server.async import StartTcpServer, StartUdpServer, StartSerialServer, StopServer +from pymodbus.server.asynchronous import ModbusTcpProtocol, ModbusUdpProtocol +from pymodbus.server.asynchronous import ModbusServerFactory +from pymodbus.server.asynchronous import StartTcpServer, StartUdpServer, StartSerialServer, StopServer import sys From 2a32d7b758aef3efc1bed5f7d4d80282888e9799 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Wed, 22 Aug 2018 08:06:23 +0200 Subject: [PATCH 4/4] add python 3.7 to travis cfg --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index 9c5eedf3a..618774299 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,6 +10,8 @@ matrix: python: "3.5" - os: linux python: "3.6" + - os: linux + python: "3.7" - os: osx osx_image: xcode8.3 language: generic