mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-06 12:14:27 +08:00
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.
This commit is contained in:
committed by
Jelle Zijlstra
parent
1f0dc6ee05
commit
90004af132
@@ -19,10 +19,10 @@ _T = TypeVar("_T")
|
||||
_MessageType = TypeVar("_MessageType", bound=Message)
|
||||
_MessageData = Union[email.message.Message, bytes, str, IO[str], IO[bytes]]
|
||||
|
||||
class HasIteritems(Protocol):
|
||||
class _HasIteritems(Protocol):
|
||||
def iteritems(self) -> Iterator[Tuple[str, Message]]: ...
|
||||
|
||||
class HasItems(Protocol):
|
||||
class _HasItems(Protocol):
|
||||
def items(self) -> Iterator[Tuple[str, Message]]: ...
|
||||
|
||||
linesep: bytes
|
||||
@@ -33,11 +33,11 @@ class Mailbox(Generic[_MessageType]):
|
||||
_factory: Optional[Callable[[IO[Any]], _MessageType]] # undocumented
|
||||
|
||||
def __init__(self, path: _PathType, factory: Optional[Callable[[IO[Any]], _MessageType]] = ..., create: bool = ...) -> None: ...
|
||||
def add(self, message: _MessageType) -> str: ...
|
||||
def add(self, message: _MessageData) -> str: ...
|
||||
def remove(self, key: str) -> None: ...
|
||||
def __delitem__(self, key: str) -> None: ...
|
||||
def discard(self, key: str) -> None: ...
|
||||
def __setitem__(self, key: str, message: _MessageType) -> None: ...
|
||||
def __setitem__(self, key: str, message: _MessageData) -> None: ...
|
||||
@overload
|
||||
def get(self, key: str, default: None = ...) -> Optional[_MessageType]: ...
|
||||
@overload
|
||||
@@ -63,7 +63,7 @@ class Mailbox(Generic[_MessageType]):
|
||||
@overload
|
||||
def pop(self, key: str, default: _T = ...) -> Union[_MessageType, _T]: ...
|
||||
def popitem(self) -> Tuple[str, _MessageType]: ...
|
||||
def update(self, arg: Optional[Union[HasIteritems, HasItems, Iterable[Tuple[str, _MessageType]]]] = ...) -> None: ...
|
||||
def update(self, arg: Optional[Union[_HasIteritems, _HasItems, Iterable[Tuple[str, _MessageType]]]] = ...) -> None: ...
|
||||
def flush(self) -> None: ...
|
||||
def lock(self) -> None: ...
|
||||
def unlock(self) -> None: ...
|
||||
|
||||
Reference in New Issue
Block a user