diff --git a/stdlib/2/binascii.pyi b/stdlib/2/binascii.pyi deleted file mode 100644 index f8b85b6da478..000000000000 --- a/stdlib/2/binascii.pyi +++ /dev/null @@ -1,21 +0,0 @@ -"""Stubs for the binascii module.""" - -def a2b_base64(string: str) -> str: ... -def a2b_hex(hexstr: str) -> str: ... -def a2b_hqx(string: str) -> str: ... -def a2b_qp(string: str, header: bool = ...) -> str: ... -def a2b_uu(string: str) -> str: ... -def b2a_base64(data: str) -> str: ... -def b2a_hex(data: str) -> str: ... -def b2a_hqx(data: str) -> str: ... -def b2a_qp(data: str, quotetabs: bool = ..., istext: bool = ..., header: bool = ...) -> str: ... -def b2a_uu(data: str) -> str: ... -def crc32(data: str, crc: int = None) -> int: ... -def crc_hqx(data: str, oldcrc: int) -> int: ... -def hexlify(data: str) -> str: ... -def rlecode_hqx(data: str) -> str: ... -def rledecode_hqx(data: str) -> str: ... -def unhexlify(hexstr: str) -> str: ... - -class Error(Exception): ... -class Incomplete(Exception): ... diff --git a/stdlib/2and3/binascii.pyi b/stdlib/2and3/binascii.pyi new file mode 100644 index 000000000000..393c4afcb8ce --- /dev/null +++ b/stdlib/2and3/binascii.pyi @@ -0,0 +1,45 @@ +# Stubs for binascii + +# Based on http://docs.python.org/3.2/library/binascii.html + +import sys +from typing import Union, Text + + +if sys.version_info < (3,): + # Python 2 accepts unicode ascii pretty much everywhere. + _Bytes = Union[bytes, Text] + _Ascii = Union[bytes, Text] +elif sys.version_info < (3, 3): + # Python 3.2 and below only accepts bytes. + _Bytes = bytes + _Ascii = bytes +else: + # But since Python 3.3 ASCII-only unicode strings are accepted by the + # a2b_* functions. + _Bytes = bytes + _Ascii = Union[bytes, Text] + +def a2b_uu(string: _Ascii) -> bytes: ... +def b2a_uu(data: _Bytes) -> bytes: ... +def a2b_base64(string: _Ascii) -> bytes: ... +if sys.version_info >= (3, 6): + def b2a_base64(data: _Bytes, *, newline: bool = ...) -> bytes: ... +else: + def b2a_base64(data: _Bytes) -> bytes: ... +def a2b_qp(string: _Ascii, header: bool = ...) -> bytes: ... +def b2a_qp(data: _Bytes, quotetabs: bool = ..., istext: bool = ..., + header: bool = ...) -> bytes: ... +def a2b_hqx(string: _Ascii) -> bytes: ... +def rledecode_hqx(data: _Bytes) -> bytes: ... +def rlecode_hqx(data: _Bytes) -> bytes: ... +def b2a_hqx(data: _Bytes) -> bytes: ... +def crc_hqx(data: _Bytes, crc: int) -> int: ... +def crc32(data: _Bytes, crc: int = ...) -> int: ... +def b2a_hex(data: _Bytes) -> bytes: ... +def hexlify(data: _Bytes) -> bytes: ... +def a2b_hex(hexstr: _Ascii) -> bytes: ... +def unhexlify(hexlify: _Ascii) -> bytes: ... + +class Error(Exception): ... +class Incomplete(Exception): ... diff --git a/stdlib/3/binascii.pyi b/stdlib/3/binascii.pyi deleted file mode 100644 index edbd97012b18..000000000000 --- a/stdlib/3/binascii.pyi +++ /dev/null @@ -1,26 +0,0 @@ -# Stubs for binascii - -# Based on http://docs.python.org/3.2/library/binascii.html - -from typing import Union - -def a2b_uu(string: Union[str, bytes]) -> bytes: ... -def b2a_uu(data: bytes) -> bytes: ... -def a2b_base64(string: Union[str, bytes]) -> bytes: ... -def b2a_base64(data: bytes) -> bytes: ... -def a2b_qp(string: Union[str, bytes], header: bool = ...) -> bytes: ... -def b2a_qp(data: bytes, quotetabs: bool = ..., istext: bool = ..., - header: bool = ...) -> bytes: ... -def a2b_hqx(string: Union[str, bytes]) -> bytes: ... -def rledecode_hqx(data: bytes) -> bytes: ... -def rlecode_hqx(data: bytes) -> bytes: ... -def b2a_hqx(data: bytes) -> bytes: ... -def crc_hqx(data: bytes, crc: int) -> int: ... -def crc32(data: bytes, crc: int = ...) -> int: ... -def b2a_hex(data: bytes) -> bytes: ... -def hexlify(data: bytes) -> bytes: ... -def a2b_hex(hexstr: Union[str, bytes]) -> bytes: ... -def unhexlify(hexlify: Union[str, bytes]) -> bytes: ... - -class Error(Exception): ... -class Incomplete(Exception): ...