Skip to content

Commit acad347

Browse files
committed
pylint: address several issues that were not previously reported.
Signed-off-by: Emmanuel Blot <emmanuel.blot@free.fr>
1 parent 327a1a7 commit acad347

File tree

4 files changed

+18
-12
lines changed

4 files changed

+18
-12
lines changed

.pylintrc

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ disable=
1212
too-many-lines,
1313
too-many-locals,
1414
too-many-nested-blocks,
15+
too-many-positional-arguments,
1516
too-many-public-methods,
1617
too-many-return-statements,
1718
too-many-statements,

pyftdi/ftdi.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -1781,8 +1781,9 @@ def write_data(self, data: Union[bytes, bytearray]) -> int:
17811781
raise FtdiError(f'UsbError: {exc}') from exc
17821782

17831783
def read_data_bytes(self, size: int, attempt: int = 1,
1784-
request_gen: Optional[Callable[[int], bytes]] = None) \
1785-
-> bytes:
1784+
request_gen: Optional[Callable[[int],
1785+
Union[bytes, bytearray]]] = None) \
1786+
-> bytearray:
17861787
"""Read data from the FTDI interface
17871788
17881789
In UART mode, data contains the serial stream read from the UART

pyftdi/i2c.py

+13-10
Original file line numberDiff line numberDiff line change
@@ -653,7 +653,7 @@ def width(self) -> int:
653653
"""
654654
return 16 if self._wide_port else 8
655655

656-
def read(self, address: int, readlen: int = 1,
656+
def read(self, address: Optional[int], readlen: int = 1,
657657
relax: bool = True) -> bytes:
658658
"""Read one or more bytes from a remote slave
659659
@@ -695,7 +695,8 @@ def read(self, address: int, readlen: int = 1,
695695
if do_epilog:
696696
self._do_epilog()
697697

698-
def write(self, address: int, out: Union[bytes, bytearray, Iterable[int]],
698+
def write(self, address: Optional[int],
699+
out: Union[bytes, bytearray, Iterable[int]],
699700
relax: bool = True) -> None:
700701
"""Write one or more bytes to a remote slave
701702
@@ -735,9 +736,9 @@ def write(self, address: int, out: Union[bytes, bytearray, Iterable[int]],
735736
if do_epilog:
736737
self._do_epilog()
737738

738-
def exchange(self, address: int,
739+
def exchange(self, address: Optional[int],
739740
out: Union[bytes, bytearray, Iterable[int]],
740-
readlen: int = 0, relax: bool = True) -> bytes:
741+
readlen: int = 0, relax: bool = True) -> bytearray:
741742
"""Send a byte sequence to a remote slave followed with
742743
a read request of one or more bytes.
743744
@@ -767,12 +768,14 @@ def exchange(self, address: int,
767768
i2caddress = (address << 1) & self.HIGH
768769
retries = self._retry_count
769770
do_epilog = True
771+
data = bytearray()
770772
with self._lock:
771773
while True:
772774
try:
773775
self._do_prolog(i2caddress)
774776
self._do_write(out)
775-
self._do_prolog(i2caddress | self.BIT0)
777+
if i2caddress is not None:
778+
self._do_prolog(i2caddress | self.BIT0)
776779
if readlen:
777780
data = self._do_read(readlen)
778781
do_epilog = relax
@@ -1017,7 +1020,7 @@ def _write_raw(self, data: int, write_high: bool):
10171020
cmd = bytes([Ftdi.SET_BITS_LOW, low_data, low_dir])
10181021
self._ftdi.write_data(cmd)
10191022

1020-
def _do_prolog(self, i2caddress: int) -> None:
1023+
def _do_prolog(self, i2caddress: Optional[int]) -> None:
10211024
if i2caddress is None:
10221025
return
10231026
self.log.debug(' prolog 0x%x', i2caddress >> 1)
@@ -1061,7 +1064,7 @@ def _send_check_ack(self, cmd: bytearray):
10611064
if ack[0] & self.BIT0:
10621065
raise I2cNackError('NACK from slave')
10631066

1064-
def _do_read(self, readlen: int) -> bytes:
1067+
def _do_read(self, readlen: int) -> bytearray:
10651068
self.log.debug('- read %d byte(s)', readlen)
10661069
if not readlen:
10671070
# force a real read request on device, but discard any result
@@ -1101,10 +1104,10 @@ def _do_read(self, readlen: int) -> bytes:
11011104
cmd_chunk.extend(read_not_last * chunk_size)
11021105
cmd_chunk.extend(self._immediate)
11031106

1104-
def write_command_gen(length: int):
1107+
def write_command_gen(length: int) -> bytearray:
11051108
if length <= 0:
11061109
# no more data
1107-
return b''
1110+
return bytearray()
11081111
if length <= chunk_size:
11091112
cmd = bytearray()
11101113
cmd.extend(read_not_last * (length-1))
@@ -1120,6 +1123,7 @@ def write_command_gen(length: int):
11201123
rem -= len(buf)
11211124
else:
11221125
while rem:
1126+
size = rem
11231127
if rem > chunk_size:
11241128
if not cmd:
11251129
# build the command sequence only once, as it may be
@@ -1132,7 +1136,6 @@ def write_command_gen(length: int):
11321136
cmd.extend(read_not_last * (rem-1))
11331137
cmd.extend(read_last)
11341138
cmd.extend(self._immediate)
1135-
size = rem
11361139
self._ftdi.write_data(cmd)
11371140
buf = self._ftdi.read_data_bytes(size, 4)
11381141
self.log.debug('- read %d byte(s): %s',

pyftdi/usbtools.py

+1
Original file line numberDiff line numberDiff line change
@@ -291,6 +291,7 @@ def parse_url(cls, urlstr: str, scheme: str,
291291
path = urlparts.path.strip('/')
292292
if path == '?' or (not path and urlstr.endswith('?')):
293293
report_devices = True
294+
interface = -1
294295
else:
295296
interface = to_int(path)
296297
report_devices = False

0 commit comments

Comments
 (0)