mirror of
https://github.com/davidhalter/typeshed.git
synced 2026-08-12 19:12:31 +08:00
pyserial: Fix read and write methods (#9825)
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import logging
|
||||
from _typeshed import ReadableBuffer
|
||||
from collections.abc import Callable, Generator
|
||||
from typing import Any
|
||||
|
||||
@@ -149,6 +150,8 @@ class Serial(SerialBase):
|
||||
def from_url(self, url: str) -> tuple[str, int]: ...
|
||||
@property
|
||||
def in_waiting(self) -> int: ...
|
||||
def read(self, size: int = 1) -> bytes: ...
|
||||
def write(self, __b: ReadableBuffer) -> int | None: ...
|
||||
def reset_input_buffer(self) -> None: ...
|
||||
def reset_output_buffer(self) -> None: ...
|
||||
@property
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
from _typeshed import ReadableBuffer
|
||||
from typing import Any
|
||||
|
||||
from serial.serialutil import *
|
||||
@@ -10,6 +11,8 @@ class Serial(SerialBase):
|
||||
def open(self) -> None: ...
|
||||
@property
|
||||
def in_waiting(self) -> int: ...
|
||||
def read(self, size: int = 1) -> bytes: ...
|
||||
def write(self, __b: ReadableBuffer) -> int | None: ...
|
||||
def reset_input_buffer(self) -> None: ...
|
||||
def reset_output_buffer(self) -> None: ...
|
||||
@property
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
from _typeshed import ReadableBuffer
|
||||
from collections.abc import Iterable
|
||||
from typing import Any
|
||||
|
||||
@@ -15,6 +16,8 @@ class Serial(SerialBase):
|
||||
def open(self) -> None: ...
|
||||
@property
|
||||
def in_waiting(self) -> int: ...
|
||||
def read(self, size: int = 1) -> bytes: ...
|
||||
def write(self, __b: ReadableBuffer) -> int | None: ...
|
||||
def reset_input_buffer(self) -> None: ...
|
||||
def reset_output_buffer(self) -> None: ...
|
||||
@property
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import sys
|
||||
from _typeshed import ReadableBuffer
|
||||
from typing_extensions import Never
|
||||
|
||||
from serial.serialutil import SerialBase
|
||||
@@ -64,8 +65,10 @@ class Serial(SerialBase, PlatformSpecific):
|
||||
def open(self) -> None: ...
|
||||
@property
|
||||
def in_waiting(self) -> int: ...
|
||||
def read(self, size: int = 1) -> bytes: ...
|
||||
def cancel_read(self) -> None: ...
|
||||
def cancel_write(self) -> None: ...
|
||||
def write(self, __b: ReadableBuffer) -> int | None: ...
|
||||
def reset_input_buffer(self) -> None: ...
|
||||
def reset_output_buffer(self) -> None: ...
|
||||
def send_break(self, duration: float = ...) -> None: ...
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
import io
|
||||
from _typeshed import ReadableBuffer, WriteableBuffer
|
||||
from abc import abstractmethod
|
||||
from collections.abc import Callable, Generator
|
||||
from typing import Any
|
||||
from typing_extensions import Final
|
||||
@@ -63,7 +65,21 @@ class SerialBase(io.RawIOBase):
|
||||
inter_byte_timeout: float | None = ...,
|
||||
exclusive: float | None = ...,
|
||||
) -> None: ...
|
||||
def read(self, __size: int = ...) -> bytes: ... # same as io.RawIOBase.read but always returns bytes
|
||||
|
||||
# Return type:
|
||||
# ------------
|
||||
# `io.RawIOBase`, the super class, declares the return type of read as `-> bytes | None`.
|
||||
# `SerialBase` does not define `read` at runtime but REQUIRES subclasses to implement it and
|
||||
# require it to return `bytes`.
|
||||
# Abstract:
|
||||
# ---------
|
||||
# `io.RawIOBase` implements `read` in terms of `readinto`. `SerialBase` implements `readinto`
|
||||
# in terms of `read`. If subclasses do not implement `read`, any call to `read` or `read_into`
|
||||
# will fail at runtime with a `RecursionError`.
|
||||
@abstractmethod
|
||||
def read(self, __size: int = -1) -> bytes: ...
|
||||
@abstractmethod
|
||||
def write(self, __b: ReadableBuffer) -> int | None: ...
|
||||
@property
|
||||
def port(self) -> str | None: ...
|
||||
@port.setter
|
||||
@@ -130,6 +146,7 @@ class SerialBase(io.RawIOBase):
|
||||
def rs485_mode(self, rs485_settings: RS485Settings | None) -> None: ...
|
||||
def get_settings(self) -> dict[str, Any]: ...
|
||||
def apply_settings(self, d: dict[str, Any]) -> None: ...
|
||||
def readinto(self, __buffer: WriteableBuffer) -> int: ... # returns int unlike `io.RawIOBase`
|
||||
def send_break(self, duration: float = ...) -> None: ...
|
||||
def read_all(self) -> bytes | None: ...
|
||||
def read_until(self, expected: bytes = ..., size: int | None = ...) -> bytes: ...
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
from _typeshed import ReadableBuffer
|
||||
|
||||
from serial.serialutil import SerialBase
|
||||
|
||||
class Serial(SerialBase):
|
||||
def open(self) -> None: ...
|
||||
@property
|
||||
def in_waiting(self) -> int: ...
|
||||
def read(self, size: int = 1) -> bytes: ...
|
||||
def write(self, __b: ReadableBuffer) -> int | None: ...
|
||||
def reset_input_buffer(self) -> None: ...
|
||||
def reset_output_buffer(self) -> None: ...
|
||||
@property
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
from _typeshed import ReadableBuffer
|
||||
|
||||
from serial.serialutil import SerialBase
|
||||
|
||||
class Serial(SerialBase):
|
||||
@@ -7,3 +9,5 @@ class Serial(SerialBase):
|
||||
def in_waiting(self) -> int: ...
|
||||
def reset_input_buffer(self) -> None: ...
|
||||
def reset_output_buffer(self) -> None: ...
|
||||
def read(self, size: int = 1) -> bytes: ...
|
||||
def write(self, __b: ReadableBuffer) -> int | None: ...
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import logging
|
||||
import queue
|
||||
from _typeshed import ReadableBuffer
|
||||
|
||||
from serial.serialutil import SerialBase
|
||||
|
||||
@@ -13,8 +14,10 @@ class Serial(SerialBase):
|
||||
def from_url(self, url: str) -> None: ...
|
||||
@property
|
||||
def in_waiting(self) -> int: ...
|
||||
def read(self, size: int = 1) -> bytes: ...
|
||||
def cancel_read(self) -> None: ...
|
||||
def cancel_write(self) -> None: ...
|
||||
def write(self, __b: ReadableBuffer) -> int | None: ...
|
||||
def reset_input_buffer(self) -> None: ...
|
||||
def reset_output_buffer(self) -> None: ...
|
||||
@property
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import logging
|
||||
from _typeshed import ReadableBuffer
|
||||
|
||||
from serial.serialutil import SerialBase
|
||||
|
||||
@@ -11,6 +12,8 @@ class Serial(SerialBase):
|
||||
def from_url(self, url: str) -> tuple[str, int]: ...
|
||||
@property
|
||||
def in_waiting(self) -> int: ...
|
||||
def read(self, size: int = 1) -> bytes: ...
|
||||
def write(self, __b: ReadableBuffer) -> int | None: ...
|
||||
def reset_input_buffer(self) -> None: ...
|
||||
def reset_output_buffer(self) -> None: ...
|
||||
@property
|
||||
|
||||
Reference in New Issue
Block a user