Skip to content

Commit 90004af

Browse files
suutariJelleZijlstra
authored andcommitted
mailbox: Couple small fixes (#3490)
* mailbox: Make stub-only helpers private These HasIteritems and HasItems protocols don't exist in the real mailbox module so prefix them with underscore to indicate they are private. * mailbox: Fix type of message argument The Mailbox.add and Mailbox.__setitem__ methods take a message argument which can be anything that is convertible to a Message. Fix the signatures accordingly.
1 parent 1f0dc6e commit 90004af

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

stdlib/2and3/mailbox.pyi

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ _T = TypeVar("_T")
1919
_MessageType = TypeVar("_MessageType", bound=Message)
2020
_MessageData = Union[email.message.Message, bytes, str, IO[str], IO[bytes]]
2121

22-
class HasIteritems(Protocol):
22+
class _HasIteritems(Protocol):
2323
def iteritems(self) -> Iterator[Tuple[str, Message]]: ...
2424

25-
class HasItems(Protocol):
25+
class _HasItems(Protocol):
2626
def items(self) -> Iterator[Tuple[str, Message]]: ...
2727

2828
linesep: bytes
@@ -33,11 +33,11 @@ class Mailbox(Generic[_MessageType]):
3333
_factory: Optional[Callable[[IO[Any]], _MessageType]] # undocumented
3434

3535
def __init__(self, path: _PathType, factory: Optional[Callable[[IO[Any]], _MessageType]] = ..., create: bool = ...) -> None: ...
36-
def add(self, message: _MessageType) -> str: ...
36+
def add(self, message: _MessageData) -> str: ...
3737
def remove(self, key: str) -> None: ...
3838
def __delitem__(self, key: str) -> None: ...
3939
def discard(self, key: str) -> None: ...
40-
def __setitem__(self, key: str, message: _MessageType) -> None: ...
40+
def __setitem__(self, key: str, message: _MessageData) -> None: ...
4141
@overload
4242
def get(self, key: str, default: None = ...) -> Optional[_MessageType]: ...
4343
@overload
@@ -63,7 +63,7 @@ class Mailbox(Generic[_MessageType]):
6363
@overload
6464
def pop(self, key: str, default: _T = ...) -> Union[_MessageType, _T]: ...
6565
def popitem(self) -> Tuple[str, _MessageType]: ...
66-
def update(self, arg: Optional[Union[HasIteritems, HasItems, Iterable[Tuple[str, _MessageType]]]] = ...) -> None: ...
66+
def update(self, arg: Optional[Union[_HasIteritems, _HasItems, Iterable[Tuple[str, _MessageType]]]] = ...) -> None: ...
6767
def flush(self) -> None: ...
6868
def lock(self) -> None: ...
6969
def unlock(self) -> None: ...

0 commit comments

Comments
 (0)