From 8bed2fce93fff3afb0252b9e9b3d04454fd60432 Mon Sep 17 00:00:00 2001 From: David Euresti Date: Fri, 7 Apr 2017 00:53:38 -0400 Subject: [PATCH] Merge binascii module into 2and3 (#1144) * Unify binascii module * Move binascii to 2and3 * CR fixes * Fix flakes * Fix flakes better --- stdlib/2/binascii.pyi | 21 ------------------ stdlib/2and3/binascii.pyi | 45 +++++++++++++++++++++++++++++++++++++++ stdlib/3/binascii.pyi | 26 ---------------------- 3 files changed, 45 insertions(+), 47 deletions(-) delete mode 100644 stdlib/2/binascii.pyi create mode 100644 stdlib/2and3/binascii.pyi delete mode 100644 stdlib/3/binascii.pyi diff --git a/stdlib/2/binascii.pyi b/stdlib/2/binascii.pyi deleted file mode 100644 index f8b85b6da..000000000 --- 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 000000000..393c4afcb --- /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 edbd97012..000000000 --- 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): ...