Skip to content

Commit d445d90

Browse files
authored
Merge pull request #1838 from pymodbus-dev/ruff
Switch from black to ruff-format
2 parents 32e4881 + 730cfdd commit d445d90

File tree

8 files changed

+40
-69
lines changed

8 files changed

+40
-69
lines changed

.pre-commit-config.yaml

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,13 @@ repos:
1010
- id: end-of-file-fixer
1111
- id: check-yaml
1212
- id: check-added-large-files
13-
# run ruff with --fix before black
13+
14+
- repo: https://github.com/astral-sh/ruff-pre-commit
15+
rev: 'v0.1.0'
16+
hooks:
17+
- id: ruff-format
1418
- repo: https://github.com/astral-sh/ruff-pre-commit
15-
rev: 'v0.0.287'
19+
rev: 'v0.1.0'
1620
hooks:
1721
- id: ruff
1822
args: [--fix, --exit-non-zero-on-fix]
19-
- repo: https://github.com/psf/black
20-
rev: 23.3.0
21-
hooks:
22-
- id: black
23-
args: [--safe, --quiet]
24-
files: (examples|pymodbus|test)/

pymodbus/device.py

Lines changed: 15 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -220,23 +220,15 @@ def __str__(self):
220220
# -------------------------------------------------------------------------#
221221
# Properties
222222
# -------------------------------------------------------------------------#
223-
VendorName = dict_property(
224-
lambda s: s.__data, 0 # pylint: disable=protected-access
225-
)
226-
ProductCode = dict_property(
227-
lambda s: s.__data, 1 # pylint: disable=protected-access
228-
)
229-
MajorMinorRevision = dict_property(
230-
lambda s: s.__data, 2 # pylint: disable=protected-access
231-
)
223+
# fmt: off
224+
VendorName = dict_property(lambda s: s.__data, 0) # pylint: disable=protected-access
225+
ProductCode = dict_property(lambda s: s.__data, 1) # pylint: disable=protected-access
226+
MajorMinorRevision = dict_property(lambda s: s.__data, 2) # pylint: disable=protected-access
232227
VendorUrl = dict_property(lambda s: s.__data, 3) # pylint: disable=protected-access
233-
ProductName = dict_property(
234-
lambda s: s.__data, 4 # pylint: disable=protected-access
235-
)
228+
ProductName = dict_property(lambda s: s.__data, 4) # pylint: disable=protected-access
236229
ModelName = dict_property(lambda s: s.__data, 5) # pylint: disable=protected-access
237-
UserApplicationName = dict_property(
238-
lambda s: s.__data, 6 # pylint: disable=protected-access
239-
)
230+
UserApplicationName = dict_property(lambda s: s.__data, 6) # pylint: disable=protected-access
231+
# fmt: on
240232

241233

242234
class DeviceInformationFactory: # pylint: disable=too-few-public-methods
@@ -428,27 +420,17 @@ def summary(self):
428420
# -------------------------------------------------------------------------#
429421
# Properties
430422
# -------------------------------------------------------------------------#
431-
BusMessage = dict_property(
432-
lambda s: s.__data, 0 # pylint: disable=protected-access
433-
)
434-
BusCommunicationError = dict_property(
435-
lambda s: s.__data, 1 # pylint: disable=protected-access
436-
)
437-
BusExceptionError = dict_property(
438-
lambda s: s.__data, 2 # pylint: disable=protected-access
439-
)
440-
SlaveMessage = dict_property(
441-
lambda s: s.__data, 3 # pylint: disable=protected-access
442-
)
443-
SlaveNoResponse = dict_property(
444-
lambda s: s.__data, 4 # pylint: disable=protected-access
445-
)
423+
# fmt: off
424+
BusMessage = dict_property(lambda s: s.__data, 0) # pylint: disable=protected-access
425+
BusCommunicationError = dict_property(lambda s: s.__data, 1) # pylint: disable=protected-access
426+
BusExceptionError = dict_property(lambda s: s.__data, 2) # pylint: disable=protected-access
427+
SlaveMessage = dict_property(lambda s: s.__data, 3) # pylint: disable=protected-access
428+
SlaveNoResponse = dict_property(lambda s: s.__data, 4) # pylint: disable=protected-access
446429
SlaveNAK = dict_property(lambda s: s.__data, 5) # pylint: disable=protected-access
447430
SlaveBusy = dict_property(lambda s: s.__data, 6) # pylint: disable=protected-access
448-
BusCharacterOverrun = dict_property(
449-
lambda s: s.__data, 7 # pylint: disable=protected-access
450-
)
431+
BusCharacterOverrun = dict_property(lambda s: s.__data, 7) # pylint: disable=protected-access
451432
Event = dict_property(lambda s: s.__data, 8) # pylint: disable=protected-access
433+
# fmt: on
452434

453435

454436
# ---------------------------------------------------------------------------#

pymodbus/utilities.py

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -77,26 +77,20 @@ def dict_property(store, index):
7777
getter = lambda self: store( # pylint: disable=unnecessary-lambda-assignment
7878
self
7979
)[index]
80-
setter = (
81-
lambda self, value: store( # pylint: disable=unnecessary-lambda-assignment
82-
self
83-
).__setitem__(index, value)
84-
)
80+
setter = lambda self, value: store( # pylint: disable=unnecessary-lambda-assignment
81+
self
82+
).__setitem__(index, value)
8583
elif isinstance(store, str):
8684
getter = lambda self: self.__getattribute__( # pylint: disable=unnecessary-dunder-call,unnecessary-lambda-assignment
8785
store
88-
)[
89-
index
90-
]
86+
)[index]
9187
setter = lambda self, value: self.__getattribute__( # pylint: disable=unnecessary-dunder-call,unnecessary-lambda-assignment
9288
store
93-
).__setitem__(
94-
index, value
95-
)
89+
).__setitem__(index, value)
9690
else:
97-
getter = lambda self: store[ # pylint: disable=unnecessary-lambda-assignment
98-
index
99-
]
91+
getter = (
92+
lambda self: store[index] # pylint: disable=unnecessary-lambda-assignment
93+
)
10094
setter = lambda self, value: store.__setitem__( # pylint: disable=unnecessary-lambda-assignment
10195
index, value
10296
)

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ development = [
7878
"pytest-cov>=4.1.0",
7979
"pytest-timeout>=2.2.0",
8080
"pytest-xdist>=3.3.1",
81-
"ruff>=0.0.287",
81+
"ruff>=0.1.0",
8282
"twine>=4.0.2",
8383
"types-Pygments",
8484
"types-pyserial"
@@ -143,7 +143,7 @@ enable = "all"
143143
disable = [
144144
"duplicate-code", # TBD
145145
"file-ignored", # ONLY to be used with extreme care.
146-
"format", # NOT wanted, handled by black
146+
"format", # NOT wanted, handled by ruff
147147
"locally-disabled", # NOT wanted
148148
"suppressed-message" # NOT wanted"""
149149
]

ruff.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
target-version="py38"
22
exclude = [
3-
"pymodbus/transport/serial_asyncio",
43
"venv",
54
".venv",
65
".git",
76
"build",
7+
"doc"
88
]
99
ignore = [
1010
"D202", # No blank lines allowed after function docstring (to work with black)
@@ -19,7 +19,7 @@ ignore = [
1919
"RUF013", # implicit Optional
2020
"RUF015" # next(iter(list)) instead of list[0]
2121
]
22-
line-length = 120
22+
line-length = 88
2323
select = [
2424
"B007", # Loop control variable {name} not used within loop body
2525
"B014", # Exception handler with duplicate exception

test/sub_messages/test_register_read_messages.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,7 @@ def setup_method(self):
5858
ReadWriteMultipleRegistersRequest(
5959
write_registers=0xAB,
6060
**arguments,
61-
): b"\x00\x01\x00\x05\x00\x01\x00"
62-
b"\x01\x02\x00\xAB",
61+
): b"\x00\x01\x00\x05\x00\x01\x00" b"\x01\x02\x00\xAB",
6362
}
6463
self.response_read = {
6564
ReadRegistersResponseBase(self.values): TEST_MESSAGE,

test/sub_server/test_server_asyncio.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -323,13 +323,13 @@ async def test_async_udp_server_serve_forever_twice(self):
323323

324324
async def test_async_udp_server_roundtrip(self):
325325
"""Test sending and receiving data on udp socket"""
326-
expected_response = b"\x01\x00\x00\x00\x00\x05\x01\x03\x02\x00\x11" # value of 17 as per context
326+
expected_response = (
327+
b"\x01\x00\x00\x00\x00\x05\x01\x03\x02\x00\x11"
328+
) # value of 17 as per context
327329
BasicClient.dataTo = TEST_DATA # slave 1, read register
328330
BasicClient.done = asyncio.Future()
329331
await self.start_server(do_udp=True)
330-
random_port = self.server.transport._sock.getsockname()[ # pylint: disable=protected-access
331-
1
332-
]
332+
random_port = self.server.transport._sock.getsockname()[1] # pylint: disable=protected-access
333333
transport, _ = await self.loop.create_datagram_endpoint(
334334
BasicClient, remote_addr=("127.0.0.1", random_port)
335335
)

test/test_transaction.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,8 @@ def test_calculate_expected_response_length(self):
6565
self._tm.client = mock.MagicMock()
6666
self._tm.client.framer = mock.MagicMock()
6767
self._tm._set_adu_size() # pylint: disable=protected-access
68-
assert (
69-
not self._tm._calculate_response_length( # pylint: disable=protected-access
70-
0
71-
)
68+
assert not self._tm._calculate_response_length( # pylint: disable=protected-access
69+
0
7270
)
7371
self._tm.base_adu_size = 10
7472
assert (

0 commit comments

Comments
 (0)